From 7a352c35f625da483d999be6a10c09f6c380b543 Mon Sep 17 00:00:00 2001 From: Dimitar Todorov <36155679+thermalthrottle@users.noreply.github.com> Date: Thu, 7 Apr 2022 21:58:11 +0300 Subject: [PATCH] fixed crash on car renting --- RentACar/Data/Data/RentACarDbContext.cs | 4 +- .../20220405162441_Migrena1.Designer.cs | 399 ------------------ .../Migrations/20220405162441_Migrena1.cs | 113 ----- ...cs => 20220406212949_migrena1.Designer.cs} | 29 +- ..._Migrena.cs => 20220406212949_migrena1.cs} | 16 +- .../RentACarDbContextModelSnapshot.cs | 26 +- .../WebApp/Controllers/RentsController.cs | 4 +- RentACar/WebApp/Views/Cars/Index.cshtml | 7 +- RentACar/WebApp/appsettings.json | 2 +- .../WebApp/bin/Debug/net5.0/appsettings.json | 2 +- 10 files changed, 52 insertions(+), 550 deletions(-) delete mode 100644 RentACar/Data/Migrations/20220405162441_Migrena1.Designer.cs delete mode 100644 RentACar/Data/Migrations/20220405162441_Migrena1.cs rename RentACar/Data/Migrations/{20220405155900_Migrena.Designer.cs => 20220406212949_migrena1.Designer.cs} (92%) rename RentACar/Data/Migrations/{20220405155900_Migrena.cs => 20220406212949_migrena1.cs} (94%) diff --git a/RentACar/Data/Data/RentACarDbContext.cs b/RentACar/Data/Data/RentACarDbContext.cs index a5fb4f3..80fe50b 100644 --- a/RentACar/Data/Data/RentACarDbContext.cs +++ b/RentACar/Data/Data/RentACarDbContext.cs @@ -20,7 +20,7 @@ namespace Data { if (!optionsBuilder.IsConfigured) { - optionsBuilder.UseSqlServer("Server=.\\SQLEXPRESS;Database=RentACar;Integrated Security=true;"); + optionsBuilder.UseSqlServer("Server=.;Database=RentACar;Integrated Security=true;"); } } @@ -59,6 +59,8 @@ namespace Data modelBuilder.Entity>().HasData(userRole); } + modelBuilder.Entity().HasKey(rents => rents.Id); + modelBuilder.Entity().HasKey(car => car.Id); modelBuilder.Entity().HasOne(rents => rents.User); modelBuilder.Entity().HasOne(rents => rents.Car); diff --git a/RentACar/Data/Migrations/20220405162441_Migrena1.Designer.cs b/RentACar/Data/Migrations/20220405162441_Migrena1.Designer.cs deleted file mode 100644 index 4f80519..0000000 --- a/RentACar/Data/Migrations/20220405162441_Migrena1.Designer.cs +++ /dev/null @@ -1,399 +0,0 @@ -// -using System; -using Data; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -namespace Data.Migrations -{ - [DbContext(typeof(RentACarDbContext))] - [Migration("20220405162441_Migrena1")] - partial class Migrena1 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.15") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("Data.Entities.Car", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("Brand") - .HasColumnType("nvarchar(max)"); - - b.Property("CountPassengerSeats") - .HasColumnType("int"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("Model") - .HasColumnType("nvarchar(max)"); - - b.Property("PriceForDay") - .HasColumnType("decimal(18,2)"); - - b.Property("Year") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("Cars"); - }); - - modelBuilder.Entity("Data.Entities.Rents", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("CarId") - .HasColumnType("int"); - - b.Property("EndDate") - .HasColumnType("datetime2"); - - b.Property("StartDate") - .HasColumnType("datetime2"); - - b.Property("UserId") - .HasColumnType("nvarchar(450)"); - - b.HasKey("Id"); - - b.HasIndex("CarId"); - - b.HasIndex("UserId"); - - b.ToTable("Rents"); - }); - - modelBuilder.Entity("Data.Entities.User", b => - { - b.Property("Id") - .HasColumnType("nvarchar(450)"); - - b.Property("AccessFailedCount") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasColumnType("nvarchar(max)"); - - b.Property("Email") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("EmailConfirmed") - .HasColumnType("bit"); - - b.Property("FirstName") - .HasColumnType("nvarchar(max)"); - - b.Property("LastName") - .HasColumnType("nvarchar(max)"); - - b.Property("LockoutEnabled") - .HasColumnType("bit"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("NormalizedEmail") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedUserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("PasswordHash") - .HasColumnType("nvarchar(max)"); - - b.Property("PersonalNumber") - .HasColumnType("nvarchar(max)"); - - b.Property("PhoneNumber") - .HasColumnType("nvarchar(max)"); - - b.Property("PhoneNumberConfirmed") - .HasColumnType("bit"); - - b.Property("SecurityStamp") - .HasColumnType("nvarchar(max)"); - - b.Property("TwoFactorEnabled") - .HasColumnType("bit"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedEmail") - .HasDatabaseName("EmailIndex"); - - b.HasIndex("NormalizedUserName") - .IsUnique() - .HasDatabaseName("UserNameIndex") - .HasFilter("[NormalizedUserName] IS NOT NULL"); - - b.ToTable("AspNetUsers"); - - b.HasData( - new - { - Id = "b482663b-78bc-4b6a-81a6-75d52d87bbb1", - AccessFailedCount = 0, - ConcurrencyStamp = "87ad6f7e-0c13-418e-85bd-de8f713571df", - Email = "admin@admin.admin", - EmailConfirmed = false, - LockoutEnabled = false, - PasswordHash = "AQAAAAEAACcQAAAAEDziS8oqC1HTCljBTahrcu4r2yG6Jx9UQwSqWbxyBm2tmq5aKXSnajXslwuEc2AF4Q==", - PhoneNumberConfirmed = false, - SecurityStamp = "4323b9d9-b92f-4ef3-94b1-77050d61341a", - TwoFactorEnabled = false, - UserName = "admin" - }); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => - { - b.Property("Id") - .HasColumnType("nvarchar(450)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasColumnType("nvarchar(max)"); - - b.Property("Name") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName") - .IsUnique() - .HasDatabaseName("RoleNameIndex") - .HasFilter("[NormalizedName] IS NOT NULL"); - - b.ToTable("AspNetRoles"); - - b.HasData( - new - { - Id = "0387a4dd-4a2a-4119-b7c9-5d5e7c16b0ed", - ConcurrencyStamp = "cb148526-d897-4dfa-966f-b67b73e16be5", - Name = "Admin" - }, - new - { - Id = "b0aacbe6-4603-4b03-b4e7-b521491bef85", - ConcurrencyStamp = "ef05edac-cedf-488c-9e99-569b0d434c10", - Name = "Employee" - }); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("ClaimType") - .HasColumnType("nvarchar(max)"); - - b.Property("ClaimValue") - .HasColumnType("nvarchar(max)"); - - b.Property("RoleId") - .IsRequired() - .HasColumnType("nvarchar(450)"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetRoleClaims"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - b.Property("ClaimType") - .HasColumnType("nvarchar(max)"); - - b.Property("ClaimValue") - .HasColumnType("nvarchar(max)"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("nvarchar(450)"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserClaims"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.Property("LoginProvider") - .HasColumnType("nvarchar(450)"); - - b.Property("ProviderKey") - .HasColumnType("nvarchar(450)"); - - b.Property("ProviderDisplayName") - .HasColumnType("nvarchar(max)"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("nvarchar(450)"); - - b.HasKey("LoginProvider", "ProviderKey"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserLogins"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("nvarchar(450)"); - - b.Property("RoleId") - .HasColumnType("nvarchar(450)"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetUserRoles"); - - b.HasData( - new - { - UserId = "b482663b-78bc-4b6a-81a6-75d52d87bbb1", - RoleId = "0387a4dd-4a2a-4119-b7c9-5d5e7c16b0ed" - }, - new - { - UserId = "b482663b-78bc-4b6a-81a6-75d52d87bbb1", - RoleId = "b0aacbe6-4603-4b03-b4e7-b521491bef85" - }); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("nvarchar(450)"); - - b.Property("LoginProvider") - .HasColumnType("nvarchar(450)"); - - b.Property("Name") - .HasColumnType("nvarchar(450)"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AspNetUserTokens"); - }); - - modelBuilder.Entity("Data.Entities.Rents", b => - { - b.HasOne("Data.Entities.Car", "Car") - .WithMany() - .HasForeignKey("CarId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Data.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId"); - - b.Navigation("Car"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => - { - b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.HasOne("Data.Entities.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.HasOne("Data.Entities.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => - { - b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Data.Entities.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.HasOne("Data.Entities.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/RentACar/Data/Migrations/20220405162441_Migrena1.cs b/RentACar/Data/Migrations/20220405162441_Migrena1.cs deleted file mode 100644 index 6103574..0000000 --- a/RentACar/Data/Migrations/20220405162441_Migrena1.cs +++ /dev/null @@ -1,113 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Data.Migrations -{ - public partial class Migrena1 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DeleteData( - table: "AspNetUserRoles", - keyColumns: new[] { "RoleId", "UserId" }, - keyValues: new object[] { "43cf6ddd-13bc-4680-9e88-21d5bb059012", "5ff048ba-cb37-4966-a7dd-f7b0aa96d730" }); - - migrationBuilder.DeleteData( - table: "AspNetUserRoles", - keyColumns: new[] { "RoleId", "UserId" }, - keyValues: new object[] { "58aee2c2-eab0-4448-afde-440707d99128", "5ff048ba-cb37-4966-a7dd-f7b0aa96d730" }); - - migrationBuilder.DeleteData( - table: "AspNetRoles", - keyColumn: "Id", - keyValue: "43cf6ddd-13bc-4680-9e88-21d5bb059012"); - - migrationBuilder.DeleteData( - table: "AspNetRoles", - keyColumn: "Id", - keyValue: "58aee2c2-eab0-4448-afde-440707d99128"); - - migrationBuilder.DeleteData( - table: "AspNetUsers", - keyColumn: "Id", - keyValue: "5ff048ba-cb37-4966-a7dd-f7b0aa96d730"); - - migrationBuilder.InsertData( - table: "AspNetRoles", - columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, - values: new object[] { "0387a4dd-4a2a-4119-b7c9-5d5e7c16b0ed", "cb148526-d897-4dfa-966f-b67b73e16be5", "Admin", null }); - - migrationBuilder.InsertData( - table: "AspNetRoles", - columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, - values: new object[] { "b0aacbe6-4603-4b03-b4e7-b521491bef85", "ef05edac-cedf-488c-9e99-569b0d434c10", "Employee", null }); - - migrationBuilder.InsertData( - table: "AspNetUsers", - columns: new[] { "Id", "AccessFailedCount", "ConcurrencyStamp", "Email", "EmailConfirmed", "FirstName", "LastName", "LockoutEnabled", "LockoutEnd", "NormalizedEmail", "NormalizedUserName", "PasswordHash", "PersonalNumber", "PhoneNumber", "PhoneNumberConfirmed", "SecurityStamp", "TwoFactorEnabled", "UserName" }, - values: new object[] { "b482663b-78bc-4b6a-81a6-75d52d87bbb1", 0, "87ad6f7e-0c13-418e-85bd-de8f713571df", "admin@admin.admin", false, null, null, false, null, null, null, "AQAAAAEAACcQAAAAEDziS8oqC1HTCljBTahrcu4r2yG6Jx9UQwSqWbxyBm2tmq5aKXSnajXslwuEc2AF4Q==", null, null, false, "4323b9d9-b92f-4ef3-94b1-77050d61341a", false, "admin" }); - - migrationBuilder.InsertData( - table: "AspNetUserRoles", - columns: new[] { "RoleId", "UserId" }, - values: new object[] { "0387a4dd-4a2a-4119-b7c9-5d5e7c16b0ed", "b482663b-78bc-4b6a-81a6-75d52d87bbb1" }); - - migrationBuilder.InsertData( - table: "AspNetUserRoles", - columns: new[] { "RoleId", "UserId" }, - values: new object[] { "b0aacbe6-4603-4b03-b4e7-b521491bef85", "b482663b-78bc-4b6a-81a6-75d52d87bbb1" }); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DeleteData( - table: "AspNetUserRoles", - keyColumns: new[] { "RoleId", "UserId" }, - keyValues: new object[] { "0387a4dd-4a2a-4119-b7c9-5d5e7c16b0ed", "b482663b-78bc-4b6a-81a6-75d52d87bbb1" }); - - migrationBuilder.DeleteData( - table: "AspNetUserRoles", - keyColumns: new[] { "RoleId", "UserId" }, - keyValues: new object[] { "b0aacbe6-4603-4b03-b4e7-b521491bef85", "b482663b-78bc-4b6a-81a6-75d52d87bbb1" }); - - migrationBuilder.DeleteData( - table: "AspNetRoles", - keyColumn: "Id", - keyValue: "0387a4dd-4a2a-4119-b7c9-5d5e7c16b0ed"); - - migrationBuilder.DeleteData( - table: "AspNetRoles", - keyColumn: "Id", - keyValue: "b0aacbe6-4603-4b03-b4e7-b521491bef85"); - - migrationBuilder.DeleteData( - table: "AspNetUsers", - keyColumn: "Id", - keyValue: "b482663b-78bc-4b6a-81a6-75d52d87bbb1"); - - migrationBuilder.InsertData( - table: "AspNetRoles", - columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, - values: new object[] { "43cf6ddd-13bc-4680-9e88-21d5bb059012", "4add9b33-0dd3-4301-a5bf-c22d1f6be04d", "Admin", null }); - - migrationBuilder.InsertData( - table: "AspNetRoles", - columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, - values: new object[] { "58aee2c2-eab0-4448-afde-440707d99128", "091ef9fa-ecf1-4195-b3a3-9d1989cdbc50", "Employee", null }); - - migrationBuilder.InsertData( - table: "AspNetUsers", - columns: new[] { "Id", "AccessFailedCount", "ConcurrencyStamp", "Email", "EmailConfirmed", "FirstName", "LastName", "LockoutEnabled", "LockoutEnd", "NormalizedEmail", "NormalizedUserName", "PasswordHash", "PersonalNumber", "PhoneNumber", "PhoneNumberConfirmed", "SecurityStamp", "TwoFactorEnabled", "UserName" }, - values: new object[] { "5ff048ba-cb37-4966-a7dd-f7b0aa96d730", 0, "bd3f3137-a505-4c21-9392-8cc07b1eac1e", "admin@admin.admin", false, null, null, false, null, null, null, "AQAAAAEAACcQAAAAEPi0dTNwbpnqCBmfVPUqx8rvTNgAcDNC+66x774qyxx0uJUru0hXcxozgjaFx/7MRw==", null, null, false, null, false, "admin" }); - - migrationBuilder.InsertData( - table: "AspNetUserRoles", - columns: new[] { "RoleId", "UserId" }, - values: new object[] { "43cf6ddd-13bc-4680-9e88-21d5bb059012", "5ff048ba-cb37-4966-a7dd-f7b0aa96d730" }); - - migrationBuilder.InsertData( - table: "AspNetUserRoles", - columns: new[] { "RoleId", "UserId" }, - values: new object[] { "58aee2c2-eab0-4448-afde-440707d99128", "5ff048ba-cb37-4966-a7dd-f7b0aa96d730" }); - } - } -} diff --git a/RentACar/Data/Migrations/20220405155900_Migrena.Designer.cs b/RentACar/Data/Migrations/20220406212949_migrena1.Designer.cs similarity index 92% rename from RentACar/Data/Migrations/20220405155900_Migrena.Designer.cs rename to RentACar/Data/Migrations/20220406212949_migrena1.Designer.cs index 8e04db9..a4c2b04 100644 --- a/RentACar/Data/Migrations/20220405155900_Migrena.Designer.cs +++ b/RentACar/Data/Migrations/20220406212949_migrena1.Designer.cs @@ -10,8 +10,8 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; namespace Data.Migrations { [DbContext(typeof(RentACarDbContext))] - [Migration("20220405155900_Migrena")] - partial class Migrena + [Migration("20220406212949_migrena1")] + partial class migrena1 { protected override void BuildTargetModel(ModelBuilder modelBuilder) { @@ -29,6 +29,7 @@ namespace Data.Migrations .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property("Brand") + .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("CountPassengerSeats") @@ -38,6 +39,7 @@ namespace Data.Migrations .HasColumnType("nvarchar(max)"); b.Property("Model") + .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("PriceForDay") @@ -155,14 +157,15 @@ namespace Data.Migrations b.HasData( new { - Id = "5ff048ba-cb37-4966-a7dd-f7b0aa96d730", + Id = "8fb80b37-172b-4100-b499-cfa8b8bd225f", AccessFailedCount = 0, - ConcurrencyStamp = "bd3f3137-a505-4c21-9392-8cc07b1eac1e", + ConcurrencyStamp = "863ef77f-ca57-4cdc-8a69-2034d137775e", Email = "admin@admin.admin", EmailConfirmed = false, LockoutEnabled = false, - PasswordHash = "AQAAAAEAACcQAAAAEPi0dTNwbpnqCBmfVPUqx8rvTNgAcDNC+66x774qyxx0uJUru0hXcxozgjaFx/7MRw==", + PasswordHash = "AQAAAAEAACcQAAAAEA2HtcFcKoyTZ8qyX/ACxeWR3uxNREHn09A1/5s+c2wzkUUOThsWUqEiv7Rn3vmgJQ==", PhoneNumberConfirmed = false, + SecurityStamp = "670d518e-9966-41bb-ae76-3a8968513497", TwoFactorEnabled = false, UserName = "admin" }); @@ -197,14 +200,14 @@ namespace Data.Migrations b.HasData( new { - Id = "43cf6ddd-13bc-4680-9e88-21d5bb059012", - ConcurrencyStamp = "4add9b33-0dd3-4301-a5bf-c22d1f6be04d", + Id = "6d92895f-aab5-46b6-8650-0d8c1b566372", + ConcurrencyStamp = "372dca25-7ccc-4995-9b3f-32bfdebc1ff6", Name = "Admin" }, new { - Id = "58aee2c2-eab0-4448-afde-440707d99128", - ConcurrencyStamp = "091ef9fa-ecf1-4195-b3a3-9d1989cdbc50", + Id = "b57865e0-539e-4f79-8215-103e22016c83", + ConcurrencyStamp = "97e7c5da-d35b-475b-85cd-f5df914e5850", Name = "Employee" }); }); @@ -296,13 +299,13 @@ namespace Data.Migrations b.HasData( new { - UserId = "5ff048ba-cb37-4966-a7dd-f7b0aa96d730", - RoleId = "43cf6ddd-13bc-4680-9e88-21d5bb059012" + UserId = "8fb80b37-172b-4100-b499-cfa8b8bd225f", + RoleId = "6d92895f-aab5-46b6-8650-0d8c1b566372" }, new { - UserId = "5ff048ba-cb37-4966-a7dd-f7b0aa96d730", - RoleId = "58aee2c2-eab0-4448-afde-440707d99128" + UserId = "8fb80b37-172b-4100-b499-cfa8b8bd225f", + RoleId = "b57865e0-539e-4f79-8215-103e22016c83" }); }); diff --git a/RentACar/Data/Migrations/20220405155900_Migrena.cs b/RentACar/Data/Migrations/20220406212949_migrena1.cs similarity index 94% rename from RentACar/Data/Migrations/20220405155900_Migrena.cs rename to RentACar/Data/Migrations/20220406212949_migrena1.cs index cde80bd..e55c18f 100644 --- a/RentACar/Data/Migrations/20220405155900_Migrena.cs +++ b/RentACar/Data/Migrations/20220406212949_migrena1.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations; namespace Data.Migrations { - public partial class Migrena : Migration + public partial class migrena1 : Migration { protected override void Up(MigrationBuilder migrationBuilder) { @@ -55,8 +55,8 @@ namespace Data.Migrations { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), - Brand = table.Column(type: "nvarchar(max)", nullable: true), - Model = table.Column(type: "nvarchar(max)", nullable: true), + Brand = table.Column(type: "nvarchar(max)", nullable: false), + Model = table.Column(type: "nvarchar(max)", nullable: false), Year = table.Column(type: "int", nullable: false), CountPassengerSeats = table.Column(type: "int", nullable: false), Description = table.Column(type: "nvarchar(max)", nullable: true), @@ -204,27 +204,27 @@ namespace Data.Migrations migrationBuilder.InsertData( table: "AspNetRoles", columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, - values: new object[] { "43cf6ddd-13bc-4680-9e88-21d5bb059012", "4add9b33-0dd3-4301-a5bf-c22d1f6be04d", "Admin", null }); + values: new object[] { "6d92895f-aab5-46b6-8650-0d8c1b566372", "372dca25-7ccc-4995-9b3f-32bfdebc1ff6", "Admin", null }); migrationBuilder.InsertData( table: "AspNetRoles", columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, - values: new object[] { "58aee2c2-eab0-4448-afde-440707d99128", "091ef9fa-ecf1-4195-b3a3-9d1989cdbc50", "Employee", null }); + values: new object[] { "b57865e0-539e-4f79-8215-103e22016c83", "97e7c5da-d35b-475b-85cd-f5df914e5850", "Employee", null }); migrationBuilder.InsertData( table: "AspNetUsers", columns: new[] { "Id", "AccessFailedCount", "ConcurrencyStamp", "Email", "EmailConfirmed", "FirstName", "LastName", "LockoutEnabled", "LockoutEnd", "NormalizedEmail", "NormalizedUserName", "PasswordHash", "PersonalNumber", "PhoneNumber", "PhoneNumberConfirmed", "SecurityStamp", "TwoFactorEnabled", "UserName" }, - values: new object[] { "5ff048ba-cb37-4966-a7dd-f7b0aa96d730", 0, "bd3f3137-a505-4c21-9392-8cc07b1eac1e", "admin@admin.admin", false, null, null, false, null, null, null, "AQAAAAEAACcQAAAAEPi0dTNwbpnqCBmfVPUqx8rvTNgAcDNC+66x774qyxx0uJUru0hXcxozgjaFx/7MRw==", null, null, false, null, false, "admin" }); + values: new object[] { "8fb80b37-172b-4100-b499-cfa8b8bd225f", 0, "863ef77f-ca57-4cdc-8a69-2034d137775e", "admin@admin.admin", false, null, null, false, null, null, null, "AQAAAAEAACcQAAAAEA2HtcFcKoyTZ8qyX/ACxeWR3uxNREHn09A1/5s+c2wzkUUOThsWUqEiv7Rn3vmgJQ==", null, null, false, "670d518e-9966-41bb-ae76-3a8968513497", false, "admin" }); migrationBuilder.InsertData( table: "AspNetUserRoles", columns: new[] { "RoleId", "UserId" }, - values: new object[] { "43cf6ddd-13bc-4680-9e88-21d5bb059012", "5ff048ba-cb37-4966-a7dd-f7b0aa96d730" }); + values: new object[] { "6d92895f-aab5-46b6-8650-0d8c1b566372", "8fb80b37-172b-4100-b499-cfa8b8bd225f" }); migrationBuilder.InsertData( table: "AspNetUserRoles", columns: new[] { "RoleId", "UserId" }, - values: new object[] { "58aee2c2-eab0-4448-afde-440707d99128", "5ff048ba-cb37-4966-a7dd-f7b0aa96d730" }); + values: new object[] { "b57865e0-539e-4f79-8215-103e22016c83", "8fb80b37-172b-4100-b499-cfa8b8bd225f" }); migrationBuilder.CreateIndex( name: "IX_AspNetRoleClaims_RoleId", diff --git a/RentACar/Data/Migrations/RentACarDbContextModelSnapshot.cs b/RentACar/Data/Migrations/RentACarDbContextModelSnapshot.cs index 7851ea8..9353409 100644 --- a/RentACar/Data/Migrations/RentACarDbContextModelSnapshot.cs +++ b/RentACar/Data/Migrations/RentACarDbContextModelSnapshot.cs @@ -27,6 +27,7 @@ namespace Data.Migrations .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property("Brand") + .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("CountPassengerSeats") @@ -36,6 +37,7 @@ namespace Data.Migrations .HasColumnType("nvarchar(max)"); b.Property("Model") + .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("PriceForDay") @@ -153,15 +155,15 @@ namespace Data.Migrations b.HasData( new { - Id = "b482663b-78bc-4b6a-81a6-75d52d87bbb1", + Id = "8fb80b37-172b-4100-b499-cfa8b8bd225f", AccessFailedCount = 0, - ConcurrencyStamp = "87ad6f7e-0c13-418e-85bd-de8f713571df", + ConcurrencyStamp = "863ef77f-ca57-4cdc-8a69-2034d137775e", Email = "admin@admin.admin", EmailConfirmed = false, LockoutEnabled = false, - PasswordHash = "AQAAAAEAACcQAAAAEDziS8oqC1HTCljBTahrcu4r2yG6Jx9UQwSqWbxyBm2tmq5aKXSnajXslwuEc2AF4Q==", + PasswordHash = "AQAAAAEAACcQAAAAEA2HtcFcKoyTZ8qyX/ACxeWR3uxNREHn09A1/5s+c2wzkUUOThsWUqEiv7Rn3vmgJQ==", PhoneNumberConfirmed = false, - SecurityStamp = "4323b9d9-b92f-4ef3-94b1-77050d61341a", + SecurityStamp = "670d518e-9966-41bb-ae76-3a8968513497", TwoFactorEnabled = false, UserName = "admin" }); @@ -196,14 +198,14 @@ namespace Data.Migrations b.HasData( new { - Id = "0387a4dd-4a2a-4119-b7c9-5d5e7c16b0ed", - ConcurrencyStamp = "cb148526-d897-4dfa-966f-b67b73e16be5", + Id = "6d92895f-aab5-46b6-8650-0d8c1b566372", + ConcurrencyStamp = "372dca25-7ccc-4995-9b3f-32bfdebc1ff6", Name = "Admin" }, new { - Id = "b0aacbe6-4603-4b03-b4e7-b521491bef85", - ConcurrencyStamp = "ef05edac-cedf-488c-9e99-569b0d434c10", + Id = "b57865e0-539e-4f79-8215-103e22016c83", + ConcurrencyStamp = "97e7c5da-d35b-475b-85cd-f5df914e5850", Name = "Employee" }); }); @@ -295,13 +297,13 @@ namespace Data.Migrations b.HasData( new { - UserId = "b482663b-78bc-4b6a-81a6-75d52d87bbb1", - RoleId = "0387a4dd-4a2a-4119-b7c9-5d5e7c16b0ed" + UserId = "8fb80b37-172b-4100-b499-cfa8b8bd225f", + RoleId = "6d92895f-aab5-46b6-8650-0d8c1b566372" }, new { - UserId = "b482663b-78bc-4b6a-81a6-75d52d87bbb1", - RoleId = "b0aacbe6-4603-4b03-b4e7-b521491bef85" + UserId = "8fb80b37-172b-4100-b499-cfa8b8bd225f", + RoleId = "b57865e0-539e-4f79-8215-103e22016c83" }); }); diff --git a/RentACar/WebApp/Controllers/RentsController.cs b/RentACar/WebApp/Controllers/RentsController.cs index 03fb828..0238e68 100644 --- a/RentACar/WebApp/Controllers/RentsController.cs +++ b/RentACar/WebApp/Controllers/RentsController.cs @@ -44,7 +44,7 @@ namespace WebApp.Controllers } // GET: Rents/Create - public IActionResult Create() + public IActionResult Create(int id) { return View(); } @@ -58,6 +58,8 @@ namespace WebApp.Controllers { if (ModelState.IsValid) { + var car = _context.Cars.FirstOrDefault(car => car.Id == 1); + rents.Car = car; _context.Add(rents); await _context.SaveChangesAsync(); return RedirectToAction(nameof(Index)); diff --git a/RentACar/WebApp/Views/Cars/Index.cshtml b/RentACar/WebApp/Views/Cars/Index.cshtml index 4206c4d..8e4115b 100644 --- a/RentACar/WebApp/Views/Cars/Index.cshtml +++ b/RentACar/WebApp/Views/Cars/Index.cshtml @@ -32,7 +32,9 @@ @Html.DisplayNameFor(model => model.PriceForDay) - + + Select + @@ -57,6 +59,9 @@ @Html.DisplayFor(modelItem => item.PriceForDay) + + Select + @if (this.User.IsInRole("Admin")) { diff --git a/RentACar/WebApp/appsettings.json b/RentACar/WebApp/appsettings.json index e899df0..5bd170a 100644 --- a/RentACar/WebApp/appsettings.json +++ b/RentACar/WebApp/appsettings.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "DefaultConnection": "Server=.\\SQLEXPRESS;Database=RentACar;Integrated Security=true;" + "DefaultConnection": "Server=.;Database=RentACar;Integrated Security=true;" }, "Logging": { "LogLevel": { diff --git a/RentACar/WebApp/bin/Debug/net5.0/appsettings.json b/RentACar/WebApp/bin/Debug/net5.0/appsettings.json index e899df0..5bd170a 100644 --- a/RentACar/WebApp/bin/Debug/net5.0/appsettings.json +++ b/RentACar/WebApp/bin/Debug/net5.0/appsettings.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "DefaultConnection": "Server=.\\SQLEXPRESS;Database=RentACar;Integrated Security=true;" + "DefaultConnection": "Server=.;Database=RentACar;Integrated Security=true;" }, "Logging": { "LogLevel": {