fixed crash on car renting

This commit is contained in:
Dimitar Todorov
2022-04-07 21:58:11 +03:00
parent 6f246bff8b
commit 7a352c35f6
10 changed files with 52 additions and 550 deletions

View File

@@ -20,7 +20,7 @@ namespace Data
{ {
if (!optionsBuilder.IsConfigured) 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<IdentityUserRole<string>>().HasData(userRole); modelBuilder.Entity<IdentityUserRole<string>>().HasData(userRole);
} }
modelBuilder.Entity<Rents>().HasKey(rents => rents.Id);
modelBuilder.Entity<Car>().HasKey(car => car.Id);
modelBuilder.Entity<Rents>().HasOne(rents => rents.User); modelBuilder.Entity<Rents>().HasOne(rents => rents.User);
modelBuilder.Entity<Rents>().HasOne(rents => rents.Car); modelBuilder.Entity<Rents>().HasOne(rents => rents.Car);

View File

@@ -1,399 +0,0 @@
// <auto-generated />
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<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("Brand")
.HasColumnType("nvarchar(max)");
b.Property<int>("CountPassengerSeats")
.HasColumnType("int");
b.Property<string>("Description")
.HasColumnType("nvarchar(max)");
b.Property<string>("Model")
.HasColumnType("nvarchar(max)");
b.Property<decimal>("PriceForDay")
.HasColumnType("decimal(18,2)");
b.Property<int>("Year")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Cars");
});
modelBuilder.Entity("Data.Entities.Rents", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("CarId")
.HasColumnType("int");
b.Property<DateTime>("EndDate")
.HasColumnType("datetime2");
b.Property<DateTime>("StartDate")
.HasColumnType("datetime2");
b.Property<string>("UserId")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("CarId");
b.HasIndex("UserId");
b.ToTable("Rents");
});
modelBuilder.Entity("Data.Entities.User", b =>
{
b.Property<string>("Id")
.HasColumnType("nvarchar(450)");
b.Property<int>("AccessFailedCount")
.HasColumnType("int");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("nvarchar(max)");
b.Property<string>("Email")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<bool>("EmailConfirmed")
.HasColumnType("bit");
b.Property<string>("FirstName")
.HasColumnType("nvarchar(max)");
b.Property<string>("LastName")
.HasColumnType("nvarchar(max)");
b.Property<bool>("LockoutEnabled")
.HasColumnType("bit");
b.Property<DateTimeOffset?>("LockoutEnd")
.HasColumnType("datetimeoffset");
b.Property<string>("NormalizedEmail")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("NormalizedUserName")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("PasswordHash")
.HasColumnType("nvarchar(max)");
b.Property<string>("PersonalNumber")
.HasColumnType("nvarchar(max)");
b.Property<string>("PhoneNumber")
.HasColumnType("nvarchar(max)");
b.Property<bool>("PhoneNumberConfirmed")
.HasColumnType("bit");
b.Property<string>("SecurityStamp")
.HasColumnType("nvarchar(max)");
b.Property<bool>("TwoFactorEnabled")
.HasColumnType("bit");
b.Property<string>("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<string>("Id")
.HasColumnType("nvarchar(450)");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasColumnType("nvarchar(max)");
b.Property<string>("Name")
.HasMaxLength(256)
.HasColumnType("nvarchar(256)");
b.Property<string>("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<string>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("ClaimType")
.HasColumnType("nvarchar(max)");
b.Property<string>("ClaimValue")
.HasColumnType("nvarchar(max)");
b.Property<string>("RoleId")
.IsRequired()
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RoleId");
b.ToTable("AspNetRoleClaims");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("ClaimType")
.HasColumnType("nvarchar(max)");
b.Property<string>("ClaimValue")
.HasColumnType("nvarchar(max)");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("AspNetUserClaims");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
{
b.Property<string>("LoginProvider")
.HasColumnType("nvarchar(450)");
b.Property<string>("ProviderKey")
.HasColumnType("nvarchar(450)");
b.Property<string>("ProviderDisplayName")
.HasColumnType("nvarchar(max)");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("nvarchar(450)");
b.HasKey("LoginProvider", "ProviderKey");
b.HasIndex("UserId");
b.ToTable("AspNetUserLogins");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
{
b.Property<string>("UserId")
.HasColumnType("nvarchar(450)");
b.Property<string>("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<string>", b =>
{
b.Property<string>("UserId")
.HasColumnType("nvarchar(450)");
b.Property<string>("LoginProvider")
.HasColumnType("nvarchar(450)");
b.Property<string>("Name")
.HasColumnType("nvarchar(450)");
b.Property<string>("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<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
{
b.HasOne("Data.Entities.User", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
{
b.HasOne("Data.Entities.User", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", 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<string>", b =>
{
b.HasOne("Data.Entities.User", null)
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
#pragma warning restore 612, 618
}
}
}

View File

@@ -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" });
}
}
}

View File

@@ -10,8 +10,8 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace Data.Migrations namespace Data.Migrations
{ {
[DbContext(typeof(RentACarDbContext))] [DbContext(typeof(RentACarDbContext))]
[Migration("20220405155900_Migrena")] [Migration("20220406212949_migrena1")]
partial class Migrena partial class migrena1
{ {
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected override void BuildTargetModel(ModelBuilder modelBuilder)
{ {
@@ -29,6 +29,7 @@ namespace Data.Migrations
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("Brand") b.Property<string>("Brand")
.IsRequired()
.HasColumnType("nvarchar(max)"); .HasColumnType("nvarchar(max)");
b.Property<int>("CountPassengerSeats") b.Property<int>("CountPassengerSeats")
@@ -38,6 +39,7 @@ namespace Data.Migrations
.HasColumnType("nvarchar(max)"); .HasColumnType("nvarchar(max)");
b.Property<string>("Model") b.Property<string>("Model")
.IsRequired()
.HasColumnType("nvarchar(max)"); .HasColumnType("nvarchar(max)");
b.Property<decimal>("PriceForDay") b.Property<decimal>("PriceForDay")
@@ -155,14 +157,15 @@ namespace Data.Migrations
b.HasData( b.HasData(
new new
{ {
Id = "5ff048ba-cb37-4966-a7dd-f7b0aa96d730", Id = "8fb80b37-172b-4100-b499-cfa8b8bd225f",
AccessFailedCount = 0, AccessFailedCount = 0,
ConcurrencyStamp = "bd3f3137-a505-4c21-9392-8cc07b1eac1e", ConcurrencyStamp = "863ef77f-ca57-4cdc-8a69-2034d137775e",
Email = "admin@admin.admin", Email = "admin@admin.admin",
EmailConfirmed = false, EmailConfirmed = false,
LockoutEnabled = false, LockoutEnabled = false,
PasswordHash = "AQAAAAEAACcQAAAAEPi0dTNwbpnqCBmfVPUqx8rvTNgAcDNC+66x774qyxx0uJUru0hXcxozgjaFx/7MRw==", PasswordHash = "AQAAAAEAACcQAAAAEA2HtcFcKoyTZ8qyX/ACxeWR3uxNREHn09A1/5s+c2wzkUUOThsWUqEiv7Rn3vmgJQ==",
PhoneNumberConfirmed = false, PhoneNumberConfirmed = false,
SecurityStamp = "670d518e-9966-41bb-ae76-3a8968513497",
TwoFactorEnabled = false, TwoFactorEnabled = false,
UserName = "admin" UserName = "admin"
}); });
@@ -197,14 +200,14 @@ namespace Data.Migrations
b.HasData( b.HasData(
new new
{ {
Id = "43cf6ddd-13bc-4680-9e88-21d5bb059012", Id = "6d92895f-aab5-46b6-8650-0d8c1b566372",
ConcurrencyStamp = "4add9b33-0dd3-4301-a5bf-c22d1f6be04d", ConcurrencyStamp = "372dca25-7ccc-4995-9b3f-32bfdebc1ff6",
Name = "Admin" Name = "Admin"
}, },
new new
{ {
Id = "58aee2c2-eab0-4448-afde-440707d99128", Id = "b57865e0-539e-4f79-8215-103e22016c83",
ConcurrencyStamp = "091ef9fa-ecf1-4195-b3a3-9d1989cdbc50", ConcurrencyStamp = "97e7c5da-d35b-475b-85cd-f5df914e5850",
Name = "Employee" Name = "Employee"
}); });
}); });
@@ -296,13 +299,13 @@ namespace Data.Migrations
b.HasData( b.HasData(
new new
{ {
UserId = "5ff048ba-cb37-4966-a7dd-f7b0aa96d730", UserId = "8fb80b37-172b-4100-b499-cfa8b8bd225f",
RoleId = "43cf6ddd-13bc-4680-9e88-21d5bb059012" RoleId = "6d92895f-aab5-46b6-8650-0d8c1b566372"
}, },
new new
{ {
UserId = "5ff048ba-cb37-4966-a7dd-f7b0aa96d730", UserId = "8fb80b37-172b-4100-b499-cfa8b8bd225f",
RoleId = "58aee2c2-eab0-4448-afde-440707d99128" RoleId = "b57865e0-539e-4f79-8215-103e22016c83"
}); });
}); });

View File

@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
namespace Data.Migrations namespace Data.Migrations
{ {
public partial class Migrena : Migration public partial class migrena1 : Migration
{ {
protected override void Up(MigrationBuilder migrationBuilder) protected override void Up(MigrationBuilder migrationBuilder)
{ {
@@ -55,8 +55,8 @@ namespace Data.Migrations
{ {
Id = table.Column<int>(type: "int", nullable: false) Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"), .Annotation("SqlServer:Identity", "1, 1"),
Brand = table.Column<string>(type: "nvarchar(max)", nullable: true), Brand = table.Column<string>(type: "nvarchar(max)", nullable: false),
Model = table.Column<string>(type: "nvarchar(max)", nullable: true), Model = table.Column<string>(type: "nvarchar(max)", nullable: false),
Year = table.Column<int>(type: "int", nullable: false), Year = table.Column<int>(type: "int", nullable: false),
CountPassengerSeats = table.Column<int>(type: "int", nullable: false), CountPassengerSeats = table.Column<int>(type: "int", nullable: false),
Description = table.Column<string>(type: "nvarchar(max)", nullable: true), Description = table.Column<string>(type: "nvarchar(max)", nullable: true),
@@ -204,27 +204,27 @@ namespace Data.Migrations
migrationBuilder.InsertData( migrationBuilder.InsertData(
table: "AspNetRoles", table: "AspNetRoles",
columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, 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( migrationBuilder.InsertData(
table: "AspNetRoles", table: "AspNetRoles",
columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, 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( migrationBuilder.InsertData(
table: "AspNetUsers", table: "AspNetUsers",
columns: new[] { "Id", "AccessFailedCount", "ConcurrencyStamp", "Email", "EmailConfirmed", "FirstName", "LastName", "LockoutEnabled", "LockoutEnd", "NormalizedEmail", "NormalizedUserName", "PasswordHash", "PersonalNumber", "PhoneNumber", "PhoneNumberConfirmed", "SecurityStamp", "TwoFactorEnabled", "UserName" }, 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( migrationBuilder.InsertData(
table: "AspNetUserRoles", table: "AspNetUserRoles",
columns: new[] { "RoleId", "UserId" }, 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( migrationBuilder.InsertData(
table: "AspNetUserRoles", table: "AspNetUserRoles",
columns: new[] { "RoleId", "UserId" }, 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( migrationBuilder.CreateIndex(
name: "IX_AspNetRoleClaims_RoleId", name: "IX_AspNetRoleClaims_RoleId",

View File

@@ -27,6 +27,7 @@ namespace Data.Migrations
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("Brand") b.Property<string>("Brand")
.IsRequired()
.HasColumnType("nvarchar(max)"); .HasColumnType("nvarchar(max)");
b.Property<int>("CountPassengerSeats") b.Property<int>("CountPassengerSeats")
@@ -36,6 +37,7 @@ namespace Data.Migrations
.HasColumnType("nvarchar(max)"); .HasColumnType("nvarchar(max)");
b.Property<string>("Model") b.Property<string>("Model")
.IsRequired()
.HasColumnType("nvarchar(max)"); .HasColumnType("nvarchar(max)");
b.Property<decimal>("PriceForDay") b.Property<decimal>("PriceForDay")
@@ -153,15 +155,15 @@ namespace Data.Migrations
b.HasData( b.HasData(
new new
{ {
Id = "b482663b-78bc-4b6a-81a6-75d52d87bbb1", Id = "8fb80b37-172b-4100-b499-cfa8b8bd225f",
AccessFailedCount = 0, AccessFailedCount = 0,
ConcurrencyStamp = "87ad6f7e-0c13-418e-85bd-de8f713571df", ConcurrencyStamp = "863ef77f-ca57-4cdc-8a69-2034d137775e",
Email = "admin@admin.admin", Email = "admin@admin.admin",
EmailConfirmed = false, EmailConfirmed = false,
LockoutEnabled = false, LockoutEnabled = false,
PasswordHash = "AQAAAAEAACcQAAAAEDziS8oqC1HTCljBTahrcu4r2yG6Jx9UQwSqWbxyBm2tmq5aKXSnajXslwuEc2AF4Q==", PasswordHash = "AQAAAAEAACcQAAAAEA2HtcFcKoyTZ8qyX/ACxeWR3uxNREHn09A1/5s+c2wzkUUOThsWUqEiv7Rn3vmgJQ==",
PhoneNumberConfirmed = false, PhoneNumberConfirmed = false,
SecurityStamp = "4323b9d9-b92f-4ef3-94b1-77050d61341a", SecurityStamp = "670d518e-9966-41bb-ae76-3a8968513497",
TwoFactorEnabled = false, TwoFactorEnabled = false,
UserName = "admin" UserName = "admin"
}); });
@@ -196,14 +198,14 @@ namespace Data.Migrations
b.HasData( b.HasData(
new new
{ {
Id = "0387a4dd-4a2a-4119-b7c9-5d5e7c16b0ed", Id = "6d92895f-aab5-46b6-8650-0d8c1b566372",
ConcurrencyStamp = "cb148526-d897-4dfa-966f-b67b73e16be5", ConcurrencyStamp = "372dca25-7ccc-4995-9b3f-32bfdebc1ff6",
Name = "Admin" Name = "Admin"
}, },
new new
{ {
Id = "b0aacbe6-4603-4b03-b4e7-b521491bef85", Id = "b57865e0-539e-4f79-8215-103e22016c83",
ConcurrencyStamp = "ef05edac-cedf-488c-9e99-569b0d434c10", ConcurrencyStamp = "97e7c5da-d35b-475b-85cd-f5df914e5850",
Name = "Employee" Name = "Employee"
}); });
}); });
@@ -295,13 +297,13 @@ namespace Data.Migrations
b.HasData( b.HasData(
new new
{ {
UserId = "b482663b-78bc-4b6a-81a6-75d52d87bbb1", UserId = "8fb80b37-172b-4100-b499-cfa8b8bd225f",
RoleId = "0387a4dd-4a2a-4119-b7c9-5d5e7c16b0ed" RoleId = "6d92895f-aab5-46b6-8650-0d8c1b566372"
}, },
new new
{ {
UserId = "b482663b-78bc-4b6a-81a6-75d52d87bbb1", UserId = "8fb80b37-172b-4100-b499-cfa8b8bd225f",
RoleId = "b0aacbe6-4603-4b03-b4e7-b521491bef85" RoleId = "b57865e0-539e-4f79-8215-103e22016c83"
}); });
}); });

View File

@@ -44,7 +44,7 @@ namespace WebApp.Controllers
} }
// GET: Rents/Create // GET: Rents/Create
public IActionResult Create() public IActionResult Create(int id)
{ {
return View(); return View();
} }
@@ -58,6 +58,8 @@ namespace WebApp.Controllers
{ {
if (ModelState.IsValid) if (ModelState.IsValid)
{ {
var car = _context.Cars.FirstOrDefault(car => car.Id == 1);
rents.Car = car;
_context.Add(rents); _context.Add(rents);
await _context.SaveChangesAsync(); await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index)); return RedirectToAction(nameof(Index));

View File

@@ -32,7 +32,9 @@
<th> <th>
@Html.DisplayNameFor(model => model.PriceForDay) @Html.DisplayNameFor(model => model.PriceForDay)
</th> </th>
<th></th> <th>
Select
</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -57,6 +59,9 @@
<td> <td>
@Html.DisplayFor(modelItem => item.PriceForDay) @Html.DisplayFor(modelItem => item.PriceForDay)
</td> </td>
<td>
<a asp-controller="Rents" asp-action="Create">Select</a>
</td>
@if (this.User.IsInRole("Admin")) @if (this.User.IsInRole("Admin"))
{ {
<td> <td>

View File

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

View File

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