CarsController

This commit is contained in:
ani_konarcheva@abv.bg
2022-04-06 17:31:48 +03:00
parent 68adc68f78
commit 1dc0aa3682
9 changed files with 43 additions and 46 deletions

View File

@@ -20,7 +20,7 @@ namespace Data
{ {
if (!optionsBuilder.IsConfigured) if (!optionsBuilder.IsConfigured)
{ {
optionsBuilder.UseSqlServer("Server=.;Database=RentACar;Integrated Security=true;"); optionsBuilder.UseSqlServer("Server=.\\SQLEXPRESS;Database=RentACar;Integrated Security=true;");
} }
} }

View File

@@ -37,6 +37,11 @@
<input asp-for="Input.PhoneNumber" class="form-control" /> <input asp-for="Input.PhoneNumber" class="form-control" />
<span asp-validation-for="Input.PhoneNumber" class="text-danger"></span> <span asp-validation-for="Input.PhoneNumber" class="text-danger"></span>
</div> </div>
<div class="form-group">
<label asp-for="Input.PersonalNumber"></label>
<input asp-for="Input.PersonalNumber" class="form-control" />
<span asp-validation-for="Input.PersonalNumber " class="text-danger"></span>
</div>
<div class="form-group"> <div class="form-group">
<label asp-for="Input.Password"></label> <label asp-for="Input.Password"></label>
<input asp-for="Input.Password" class="form-control" /> <input asp-for="Input.Password" class="form-control" />

View File

@@ -65,6 +65,9 @@ namespace WebApp.Areas.Identity.Pages.Account
[Display(Name = "Phone")] [Display(Name = "Phone")]
public string PhoneNumber { get; set; } public string PhoneNumber { get; set; }
[Display(Name = "Personal number")]
public string PersonalNumber { get; set; }
[Required] [Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 6)] [StringLength(100, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)] [DataType(DataType.Password)]
@@ -89,7 +92,7 @@ namespace WebApp.Areas.Identity.Pages.Account
ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
if (ModelState.IsValid) if (ModelState.IsValid)
{ {
var user = new User { Id = Guid.NewGuid().ToString(), UserName = Input.Username, Email = Input.Email, FirstName = Input.FirstName, LastName = Input.LastName, PhoneNumber = Input.PhoneNumber }; var user = new User { Id = Guid.NewGuid().ToString(), UserName = Input.Username, Email = Input.Email, FirstName = Input.FirstName, LastName = Input.LastName, PhoneNumber = Input.PhoneNumber, PersonalNumber = Input.PersonalNumber };
var result = await _userManager.CreateAsync(user, Input.Password); var result = await _userManager.CreateAsync(user, Input.Password);
if (result.Succeeded) if (result.Succeeded)
{ {

View File

@@ -4,9 +4,7 @@
ViewData["Title"] = "Create"; ViewData["Title"] = "Create";
} }
<h1>Create</h1> <h1>Create new vehicle</h1>
<h4>Create new car</h4>
<hr /> <hr />
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
@@ -29,13 +27,7 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label asp-for="CountPassengerSeats" class="control-label"></label> <label asp-for="CountPassengerSeats" class="control-label"></label>
<select asp-for="CountPassengerSeats" class="form-control"> <input asp-for="CountPassengerSeats" class="form-control" />
<option> 3 </option>
<option> 4 </option>
<option> 5 </option>
<option> 6 </option>
<option> 7 </option>
</select>
<span asp-validation-for="CountPassengerSeats" class="text-danger"></span> <span asp-validation-for="CountPassengerSeats" class="text-danger"></span>
</div> </div>
<div class="form-group"> <div class="form-group">

View File

@@ -4,11 +4,11 @@
ViewData["Title"] = "Cars"; ViewData["Title"] = "Cars";
} }
<h1>Index</h1> <h1>Vehicle</h1>
<p> <p>
@if (this.User.IsInRole("Admin")) @if (this.User.IsInRole("Admin"))
{ {
<a asp-action="Create">New car</a> <a asp-action="Create">Create car</a>
} }
</p> </p>
<table class="table"> <table class="table">
@@ -38,30 +38,33 @@
<tbody> <tbody>
@foreach (var item in Model) @foreach (var item in Model)
{ {
<tr> <tr>
<td> <td>
@Html.DisplayFor(modelItem => item.Brand) @Html.DisplayFor(modelItem => item.Brand)
</td> </td>
<td> <td>
@Html.DisplayFor(modelItem => item.Model) @Html.DisplayFor(modelItem => item.Model)
</td> </td>
<td> <td>
@Html.DisplayFor(modelItem => item.Year) @Html.DisplayFor(modelItem => item.Year)
</td> </td>
<td> <td>
@Html.DisplayFor(modelItem => item.CountPassengerSeats) @Html.DisplayFor(modelItem => item.CountPassengerSeats)
</td> </td>
<td> <td>
@Html.DisplayFor(modelItem => item.Description) @Html.DisplayFor(modelItem => item.Description)
</td> </td>
<td> <td>
@Html.DisplayFor(modelItem => item.PriceForDay) @Html.DisplayFor(modelItem => item.PriceForDay)
</td> </td>
@if (this.User.IsInRole("Admin"))
{
<td> <td>
<a asp-action="Edit" asp-route-id="@item.Id">Edit</a> | <a asp-action="Edit" asp-route-id="@item.Id">Edit</a> |
<a asp-action="Details" asp-route-id="@item.Id">Details</a> | <a asp-action="Details" asp-route-id="@item.Id">Details</a> |
<a asp-action="Delete" asp-route-id="@item.Id">Delete</a> <a asp-action="Delete" asp-route-id="@item.Id">Delete</a>
</td> </td>
}
</tr> </tr>
} }
</tbody> </tbody>

View File

@@ -1,5 +1,5 @@
@{ @{
ViewData["Title"] = "Rent a car"; ViewData["Title"] = "LuminousCars";
} }
<div class="text-center"> <div class="text-center">

View File

@@ -11,7 +11,7 @@
<header> <header>
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3"> <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
<div class="container"> <div class="container">
<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">Rent a car</a> <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">LuminousCars</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent" <button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation"> aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
@@ -20,18 +20,12 @@
<ul class="navbar-nav flex-grow-1"> <ul class="navbar-nav flex-grow-1">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a> <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
</li> </li>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
</li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Cars" asp-action="Index">Cars</a> <a class="nav-link text-dark" asp-area="" asp-controller="Cars" asp-action="Index">Cars</a>
</li> </li>
@if (this.User.IsInRole("Admin")) @if (this.User.IsInRole("Admin"))
{ {
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Cars" asp-action="Create">Create Car</a>
</li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Rents" asp-action="Index">Rents</a> <a class="nav-link text-dark" asp-area="" asp-controller="Rents" asp-action="Index">Rents</a>
</li> </li>
@@ -50,7 +44,7 @@
<footer class="border-top footer text-muted"> <footer class="border-top footer text-muted">
<div class="container"> <div class="container">
&copy; 2022 - Rent a car - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a> &copy; 2022 - LuminousCars
</div> </div>
</footer> </footer>
<script src="~/lib/jquery/dist/jquery.min.js"></script> <script src="~/lib/jquery/dist/jquery.min.js"></script>

View File

@@ -1,6 +1,6 @@
{ {
"ConnectionStrings": { "ConnectionStrings": {
"DefaultConnection": "Server=.;Database=RentACar;Integrated Security=true;" "DefaultConnection": "Server=.\\SQLEXPRESS;Database=RentACar;Integrated Security=true;"
}, },
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {

View File

@@ -1,6 +1,6 @@
{ {
"ConnectionStrings": { "ConnectionStrings": {
"DefaultConnection": "Server=.;Database=RentACar;Integrated Security=true;" "DefaultConnection": "Server=.\\SQLEXPRESS;Database=RentACar;Integrated Security=true;"
}, },
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {