добавил миграции

This commit is contained in:
spacyboy 2024-04-29 18:33:51 +04:00
parent 10d5cc612a
commit 35ee169cda
9 changed files with 1554 additions and 9 deletions

View File

@ -24,7 +24,7 @@ namespace CarCenterBusinessLogic.BusinessLogics
public bool Create(EmployeeBindingModel model)
{
CheckModel(model);
model.EmployeeSale = new();
model.EmployeeSales = new();
var result = _employeeStorage.Insert(model);
@ -111,7 +111,7 @@ namespace CarCenterBusinessLogic.BusinessLogics
_logger.LogInformation("AddSaleToEmployee find. Id:{Id}", element.Id);
element.EmployeeSale[Sale.Id] = Sale;
element.EmployeeSales[Sale.Id] = Sale;
_employeeStorage.Update(new()
{
@ -119,7 +119,7 @@ namespace CarCenterBusinessLogic.BusinessLogics
EmployeeFIO = element.EmployeeFIO,
Specialization = element.Specialization,
ManagerId = element.ManagerId,
EmployeeSale = element.EmployeeSale,
EmployeeSales = element.EmployeeSales,
});
return true;

View File

@ -39,7 +39,7 @@ namespace CarCenterBusinessLogic.BusinessLogics
_logger.LogInformation("AddSaleToPreSaleWork find. Id:{Id}", element.Id);
element.PreSaleWorkSale[Sale.Id] = Sale;
element.PreSaleWorkSales[Sale.Id] = Sale;
_PreSaleWorkStorage.Update(new()
{
@ -47,7 +47,7 @@ namespace CarCenterBusinessLogic.BusinessLogics
PreSaleWorkType = element.PreSaleWorkType,
PreSaleWorkPrice = element.PreSaleWorkPrice,
ManagerId = element.ManagerId,
PreSaleWorkSale = element.PreSaleWorkSale
PreSaleWorkSales = element.PreSaleWorkSales
});
return true;
@ -56,7 +56,7 @@ namespace CarCenterBusinessLogic.BusinessLogics
public bool Create(PreSaleWorkBindingModel model)
{
CheckModel(model);
model.PreSaleWorkSale = new();
model.PreSaleWorkSales = new();
var result = _PreSaleWorkStorage.Insert(model);

View File

@ -9,8 +9,9 @@ namespace CarCenterDataBaseImplement
{
if (optionsBuilder.IsConfigured == false)
{
optionsBuilder.UseSqlServer(@"Data Source=localhost\SQLEXPRESS;Initial Catalog=CarCenterDataBase;Integrated Security=True;MultipleActiveResultSets=True;;TrustServerCertificate=True");
optionsBuilder.UseSqlServer(@"Data Source=WIN-GKU3FFNUNO6;Initial Catalog=CarCenterDataBase;Integrated Security=True;MultipleActiveResultSets=True;;TrustServerCertificate=True");
}
base.OnConfiguring(optionsBuilder);
}
public virtual DbSet<Employee> Employees { set; get; }

View File

@ -0,0 +1,564 @@
// <auto-generated />
using System;
using CarCenterDataBaseImplement;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace CarCenterDataBaseImplement.Migrations
{
[DbContext(typeof(CarCenterDataBase))]
[Migration("20240429141128_Init")]
partial class Init
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "7.0.5")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Administrator", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("AdministratorEmail")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("AdministratorFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("AdministratorLogin")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("AdministratorNumber")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("AdministratorPassword")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Administrators");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Car", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("AdministratorId")
.HasColumnType("int");
b.Property<string>("BrandCar")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Model")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("AdministratorId");
b.ToTable("Cars");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Employee", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("EmployeeFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("ManagerId")
.HasColumnType("int");
b.Property<string>("Specialization")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("ManagerId");
b.ToTable("Employees");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.EmployeeSale", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("EmployeeId")
.HasColumnType("int");
b.Property<int>("SaleId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("EmployeeId");
b.HasIndex("SaleId");
b.ToTable("EmployeeSales");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Equipment", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("AdministratorId")
.HasColumnType("int");
b.Property<string>("EquipmentName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<double>("EquipmentPrice")
.HasColumnType("float");
b.Property<int?>("PreSaleWorkId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("AdministratorId");
b.HasIndex("PreSaleWorkId");
b.ToTable("Equipments");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.EquipmentCar", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("CarId")
.HasColumnType("int");
b.Property<int>("Count")
.HasColumnType("int");
b.Property<int>("EquipmentId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("CarId");
b.HasIndex("EquipmentId");
b.ToTable("EquipmentCars");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Inspection", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("AdministratorId")
.HasColumnType("int");
b.Property<int?>("EmployeeId")
.HasColumnType("int");
b.Property<DateTime?>("InspectionDate")
.HasColumnType("datetime2");
b.Property<string>("InspectionName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("AdministratorId");
b.HasIndex("EmployeeId");
b.ToTable("Inspections");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.InspectionCar", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("CarId")
.HasColumnType("int");
b.Property<int>("InspectionId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("CarId");
b.HasIndex("InspectionId");
b.ToTable("InspectionCars");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Manager", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("ManagerEmail")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("ManagerFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("ManagerLogin")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("ManagerNumber")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("ManagerPassword")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Managers");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.PreSaleWork", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("ManagerId")
.HasColumnType("int");
b.Property<double>("PreSaleWorkPrice")
.HasColumnType("float");
b.Property<string>("PreSaleWorkType")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("ManagerId");
b.ToTable("PreSaleWorks");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.PreSaleWorkSale", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("PreSaleWorkId")
.HasColumnType("int");
b.Property<int>("SaleId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("PreSaleWorkId");
b.HasIndex("SaleId");
b.ToTable("PreSaleWorkSales");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Sale", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("ManagerId")
.HasColumnType("int");
b.Property<DateTime?>("SaleDate")
.IsRequired()
.HasColumnType("datetime2");
b.Property<string>("SalePrice")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("ManagerId");
b.ToTable("Sales");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Car", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Administrator", "Administrator")
.WithMany("Cars")
.HasForeignKey("AdministratorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Administrator");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Employee", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Manager", "Manager")
.WithMany("Employees")
.HasForeignKey("ManagerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Manager");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.EmployeeSale", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Employee", "Employee")
.WithMany("Sales")
.HasForeignKey("EmployeeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("CarCenterDataBaseImplement.Models.Sale", "Sale")
.WithMany("EmployeeSales")
.HasForeignKey("SaleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Employee");
b.Navigation("Sale");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Equipment", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Administrator", "Administrator")
.WithMany("Equipments")
.HasForeignKey("AdministratorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("CarCenterDataBaseImplement.Models.PreSaleWork", "PreSaleWork")
.WithMany("Equipments")
.HasForeignKey("PreSaleWorkId");
b.Navigation("Administrator");
b.Navigation("PreSaleWork");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.EquipmentCar", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Car", "Car")
.WithMany("EquipmentCars")
.HasForeignKey("CarId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("CarCenterDataBaseImplement.Models.Equipment", "Equipment")
.WithMany("Cars")
.HasForeignKey("EquipmentId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Car");
b.Navigation("Equipment");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Inspection", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Administrator", "Administrator")
.WithMany("Inspections")
.HasForeignKey("AdministratorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("CarCenterDataBaseImplement.Models.Employee", "Employee")
.WithMany("Inspections")
.HasForeignKey("EmployeeId");
b.Navigation("Administrator");
b.Navigation("Employee");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.InspectionCar", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Car", "Car")
.WithMany("InspectionCar")
.HasForeignKey("CarId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("CarCenterDataBaseImplement.Models.Inspection", "Inspection")
.WithMany("Cars")
.HasForeignKey("InspectionId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Car");
b.Navigation("Inspection");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.PreSaleWork", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Manager", "Manager")
.WithMany("PreSaleWorks")
.HasForeignKey("ManagerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Manager");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.PreSaleWorkSale", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.PreSaleWork", "PreSaleWork")
.WithMany("Sales")
.HasForeignKey("PreSaleWorkId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("CarCenterDataBaseImplement.Models.Sale", "Sale")
.WithMany("PreSaleWorkSale")
.HasForeignKey("SaleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("PreSaleWork");
b.Navigation("Sale");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Sale", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Manager", "Manager")
.WithMany("Sales")
.HasForeignKey("ManagerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Manager");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Administrator", b =>
{
b.Navigation("Cars");
b.Navigation("Equipments");
b.Navigation("Inspections");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Car", b =>
{
b.Navigation("EquipmentCars");
b.Navigation("InspectionCar");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Employee", b =>
{
b.Navigation("Inspections");
b.Navigation("Sales");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Equipment", b =>
{
b.Navigation("Cars");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Inspection", b =>
{
b.Navigation("Cars");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Manager", b =>
{
b.Navigation("Employees");
b.Navigation("PreSaleWorks");
b.Navigation("Sales");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.PreSaleWork", b =>
{
b.Navigation("Equipments");
b.Navigation("Sales");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Sale", b =>
{
b.Navigation("EmployeeSales");
b.Navigation("PreSaleWorkSale");
});
#pragma warning restore 612, 618
}
}
}

View File

@ -0,0 +1,412 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace CarCenterDataBaseImplement.Migrations
{
/// <inheritdoc />
public partial class Init : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Administrators",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AdministratorFIO = table.Column<string>(type: "nvarchar(max)", nullable: false),
AdministratorEmail = table.Column<string>(type: "nvarchar(max)", nullable: false),
AdministratorPassword = table.Column<string>(type: "nvarchar(max)", nullable: false),
AdministratorLogin = table.Column<string>(type: "nvarchar(max)", nullable: false),
AdministratorNumber = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Administrators", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Managers",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ManagerFIO = table.Column<string>(type: "nvarchar(max)", nullable: false),
ManagerPassword = table.Column<string>(type: "nvarchar(max)", nullable: false),
ManagerLogin = table.Column<string>(type: "nvarchar(max)", nullable: false),
ManagerEmail = table.Column<string>(type: "nvarchar(max)", nullable: false),
ManagerNumber = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Managers", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Cars",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AdministratorId = table.Column<int>(type: "int", nullable: false),
BrandCar = table.Column<string>(type: "nvarchar(max)", nullable: false),
Model = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Cars", x => x.Id);
table.ForeignKey(
name: "FK_Cars_Administrators_AdministratorId",
column: x => x.AdministratorId,
principalTable: "Administrators",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Employees",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
EmployeeFIO = table.Column<string>(type: "nvarchar(max)", nullable: false),
Specialization = table.Column<string>(type: "nvarchar(max)", nullable: false),
ManagerId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Employees", x => x.Id);
table.ForeignKey(
name: "FK_Employees_Managers_ManagerId",
column: x => x.ManagerId,
principalTable: "Managers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "PreSaleWorks",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
PreSaleWorkType = table.Column<string>(type: "nvarchar(max)", nullable: false),
PreSaleWorkPrice = table.Column<double>(type: "float", nullable: false),
ManagerId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_PreSaleWorks", x => x.Id);
table.ForeignKey(
name: "FK_PreSaleWorks_Managers_ManagerId",
column: x => x.ManagerId,
principalTable: "Managers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Sales",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
SaleDate = table.Column<DateTime>(type: "datetime2", nullable: false),
SalePrice = table.Column<string>(type: "nvarchar(max)", nullable: false),
ManagerId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Sales", x => x.Id);
table.ForeignKey(
name: "FK_Sales_Managers_ManagerId",
column: x => x.ManagerId,
principalTable: "Managers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Inspections",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
InspectionDate = table.Column<DateTime>(type: "datetime2", nullable: true),
AdministratorId = table.Column<int>(type: "int", nullable: false),
EmployeeId = table.Column<int>(type: "int", nullable: true),
InspectionName = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Inspections", x => x.Id);
table.ForeignKey(
name: "FK_Inspections_Administrators_AdministratorId",
column: x => x.AdministratorId,
principalTable: "Administrators",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Inspections_Employees_EmployeeId",
column: x => x.EmployeeId,
principalTable: "Employees",
principalColumn: "Id");
});
migrationBuilder.CreateTable(
name: "Equipments",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
EquipmentName = table.Column<string>(type: "nvarchar(max)", nullable: false),
EquipmentPrice = table.Column<double>(type: "float", nullable: false),
AdministratorId = table.Column<int>(type: "int", nullable: false),
PreSaleWorkId = table.Column<int>(type: "int", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Equipments", x => x.Id);
table.ForeignKey(
name: "FK_Equipments_Administrators_AdministratorId",
column: x => x.AdministratorId,
principalTable: "Administrators",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Equipments_PreSaleWorks_PreSaleWorkId",
column: x => x.PreSaleWorkId,
principalTable: "PreSaleWorks",
principalColumn: "Id");
});
migrationBuilder.CreateTable(
name: "EmployeeSales",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
SaleId = table.Column<int>(type: "int", nullable: false),
EmployeeId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_EmployeeSales", x => x.Id);
table.ForeignKey(
name: "FK_EmployeeSales_Employees_EmployeeId",
column: x => x.EmployeeId,
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_EmployeeSales_Sales_SaleId",
column: x => x.SaleId,
principalTable: "Sales",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "PreSaleWorkSales",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
SaleId = table.Column<int>(type: "int", nullable: false),
PreSaleWorkId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_PreSaleWorkSales", x => x.Id);
table.ForeignKey(
name: "FK_PreSaleWorkSales_PreSaleWorks_PreSaleWorkId",
column: x => x.PreSaleWorkId,
principalTable: "PreSaleWorks",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_PreSaleWorkSales_Sales_SaleId",
column: x => x.SaleId,
principalTable: "Sales",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "InspectionCars",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
InspectionId = table.Column<int>(type: "int", nullable: false),
CarId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_InspectionCars", x => x.Id);
table.ForeignKey(
name: "FK_InspectionCars_Cars_CarId",
column: x => x.CarId,
principalTable: "Cars",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_InspectionCars_Inspections_InspectionId",
column: x => x.InspectionId,
principalTable: "Inspections",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "EquipmentCars",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
EquipmentId = table.Column<int>(type: "int", nullable: false),
CarId = table.Column<int>(type: "int", nullable: false),
Count = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_EquipmentCars", x => x.Id);
table.ForeignKey(
name: "FK_EquipmentCars_Cars_CarId",
column: x => x.CarId,
principalTable: "Cars",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_EquipmentCars_Equipments_EquipmentId",
column: x => x.EquipmentId,
principalTable: "Equipments",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_Cars_AdministratorId",
table: "Cars",
column: "AdministratorId");
migrationBuilder.CreateIndex(
name: "IX_Employees_ManagerId",
table: "Employees",
column: "ManagerId");
migrationBuilder.CreateIndex(
name: "IX_EmployeeSales_EmployeeId",
table: "EmployeeSales",
column: "EmployeeId");
migrationBuilder.CreateIndex(
name: "IX_EmployeeSales_SaleId",
table: "EmployeeSales",
column: "SaleId");
migrationBuilder.CreateIndex(
name: "IX_EquipmentCars_CarId",
table: "EquipmentCars",
column: "CarId");
migrationBuilder.CreateIndex(
name: "IX_EquipmentCars_EquipmentId",
table: "EquipmentCars",
column: "EquipmentId");
migrationBuilder.CreateIndex(
name: "IX_Equipments_AdministratorId",
table: "Equipments",
column: "AdministratorId");
migrationBuilder.CreateIndex(
name: "IX_Equipments_PreSaleWorkId",
table: "Equipments",
column: "PreSaleWorkId");
migrationBuilder.CreateIndex(
name: "IX_InspectionCars_CarId",
table: "InspectionCars",
column: "CarId");
migrationBuilder.CreateIndex(
name: "IX_InspectionCars_InspectionId",
table: "InspectionCars",
column: "InspectionId");
migrationBuilder.CreateIndex(
name: "IX_Inspections_AdministratorId",
table: "Inspections",
column: "AdministratorId");
migrationBuilder.CreateIndex(
name: "IX_Inspections_EmployeeId",
table: "Inspections",
column: "EmployeeId");
migrationBuilder.CreateIndex(
name: "IX_PreSaleWorks_ManagerId",
table: "PreSaleWorks",
column: "ManagerId");
migrationBuilder.CreateIndex(
name: "IX_PreSaleWorkSales_PreSaleWorkId",
table: "PreSaleWorkSales",
column: "PreSaleWorkId");
migrationBuilder.CreateIndex(
name: "IX_PreSaleWorkSales_SaleId",
table: "PreSaleWorkSales",
column: "SaleId");
migrationBuilder.CreateIndex(
name: "IX_Sales_ManagerId",
table: "Sales",
column: "ManagerId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "EmployeeSales");
migrationBuilder.DropTable(
name: "EquipmentCars");
migrationBuilder.DropTable(
name: "InspectionCars");
migrationBuilder.DropTable(
name: "PreSaleWorkSales");
migrationBuilder.DropTable(
name: "Equipments");
migrationBuilder.DropTable(
name: "Cars");
migrationBuilder.DropTable(
name: "Inspections");
migrationBuilder.DropTable(
name: "Sales");
migrationBuilder.DropTable(
name: "PreSaleWorks");
migrationBuilder.DropTable(
name: "Administrators");
migrationBuilder.DropTable(
name: "Employees");
migrationBuilder.DropTable(
name: "Managers");
}
}
}

View File

@ -0,0 +1,561 @@
// <auto-generated />
using System;
using CarCenterDataBaseImplement;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace CarCenterDataBaseImplement.Migrations
{
[DbContext(typeof(CarCenterDataBase))]
partial class CarCenterDataBaseModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "7.0.5")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Administrator", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("AdministratorEmail")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("AdministratorFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("AdministratorLogin")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("AdministratorNumber")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("AdministratorPassword")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Administrators");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Car", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("AdministratorId")
.HasColumnType("int");
b.Property<string>("BrandCar")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Model")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("AdministratorId");
b.ToTable("Cars");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Employee", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("EmployeeFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("ManagerId")
.HasColumnType("int");
b.Property<string>("Specialization")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("ManagerId");
b.ToTable("Employees");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.EmployeeSale", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("EmployeeId")
.HasColumnType("int");
b.Property<int>("SaleId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("EmployeeId");
b.HasIndex("SaleId");
b.ToTable("EmployeeSales");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Equipment", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("AdministratorId")
.HasColumnType("int");
b.Property<string>("EquipmentName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<double>("EquipmentPrice")
.HasColumnType("float");
b.Property<int?>("PreSaleWorkId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("AdministratorId");
b.HasIndex("PreSaleWorkId");
b.ToTable("Equipments");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.EquipmentCar", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("CarId")
.HasColumnType("int");
b.Property<int>("Count")
.HasColumnType("int");
b.Property<int>("EquipmentId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("CarId");
b.HasIndex("EquipmentId");
b.ToTable("EquipmentCars");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Inspection", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("AdministratorId")
.HasColumnType("int");
b.Property<int?>("EmployeeId")
.HasColumnType("int");
b.Property<DateTime?>("InspectionDate")
.HasColumnType("datetime2");
b.Property<string>("InspectionName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("AdministratorId");
b.HasIndex("EmployeeId");
b.ToTable("Inspections");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.InspectionCar", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("CarId")
.HasColumnType("int");
b.Property<int>("InspectionId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("CarId");
b.HasIndex("InspectionId");
b.ToTable("InspectionCars");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Manager", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("ManagerEmail")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("ManagerFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("ManagerLogin")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("ManagerNumber")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("ManagerPassword")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Managers");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.PreSaleWork", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("ManagerId")
.HasColumnType("int");
b.Property<double>("PreSaleWorkPrice")
.HasColumnType("float");
b.Property<string>("PreSaleWorkType")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("ManagerId");
b.ToTable("PreSaleWorks");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.PreSaleWorkSale", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("PreSaleWorkId")
.HasColumnType("int");
b.Property<int>("SaleId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("PreSaleWorkId");
b.HasIndex("SaleId");
b.ToTable("PreSaleWorkSales");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Sale", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("ManagerId")
.HasColumnType("int");
b.Property<DateTime?>("SaleDate")
.IsRequired()
.HasColumnType("datetime2");
b.Property<string>("SalePrice")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("ManagerId");
b.ToTable("Sales");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Car", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Administrator", "Administrator")
.WithMany("Cars")
.HasForeignKey("AdministratorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Administrator");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Employee", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Manager", "Manager")
.WithMany("Employees")
.HasForeignKey("ManagerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Manager");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.EmployeeSale", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Employee", "Employee")
.WithMany("Sales")
.HasForeignKey("EmployeeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("CarCenterDataBaseImplement.Models.Sale", "Sale")
.WithMany("EmployeeSales")
.HasForeignKey("SaleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Employee");
b.Navigation("Sale");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Equipment", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Administrator", "Administrator")
.WithMany("Equipments")
.HasForeignKey("AdministratorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("CarCenterDataBaseImplement.Models.PreSaleWork", "PreSaleWork")
.WithMany("Equipments")
.HasForeignKey("PreSaleWorkId");
b.Navigation("Administrator");
b.Navigation("PreSaleWork");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.EquipmentCar", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Car", "Car")
.WithMany("EquipmentCars")
.HasForeignKey("CarId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("CarCenterDataBaseImplement.Models.Equipment", "Equipment")
.WithMany("Cars")
.HasForeignKey("EquipmentId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Car");
b.Navigation("Equipment");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Inspection", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Administrator", "Administrator")
.WithMany("Inspections")
.HasForeignKey("AdministratorId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("CarCenterDataBaseImplement.Models.Employee", "Employee")
.WithMany("Inspections")
.HasForeignKey("EmployeeId");
b.Navigation("Administrator");
b.Navigation("Employee");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.InspectionCar", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Car", "Car")
.WithMany("InspectionCar")
.HasForeignKey("CarId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("CarCenterDataBaseImplement.Models.Inspection", "Inspection")
.WithMany("Cars")
.HasForeignKey("InspectionId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Car");
b.Navigation("Inspection");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.PreSaleWork", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Manager", "Manager")
.WithMany("PreSaleWorks")
.HasForeignKey("ManagerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Manager");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.PreSaleWorkSale", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.PreSaleWork", "PreSaleWork")
.WithMany("Sales")
.HasForeignKey("PreSaleWorkId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("CarCenterDataBaseImplement.Models.Sale", "Sale")
.WithMany("PreSaleWorkSale")
.HasForeignKey("SaleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("PreSaleWork");
b.Navigation("Sale");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Sale", b =>
{
b.HasOne("CarCenterDataBaseImplement.Models.Manager", "Manager")
.WithMany("Sales")
.HasForeignKey("ManagerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Manager");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Administrator", b =>
{
b.Navigation("Cars");
b.Navigation("Equipments");
b.Navigation("Inspections");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Car", b =>
{
b.Navigation("EquipmentCars");
b.Navigation("InspectionCar");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Employee", b =>
{
b.Navigation("Inspections");
b.Navigation("Sales");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Equipment", b =>
{
b.Navigation("Cars");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Inspection", b =>
{
b.Navigation("Cars");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Manager", b =>
{
b.Navigation("Employees");
b.Navigation("PreSaleWorks");
b.Navigation("Sales");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.PreSaleWork", b =>
{
b.Navigation("Equipments");
b.Navigation("Sales");
});
modelBuilder.Entity("CarCenterDataBaseImplement.Models.Sale", b =>
{
b.Navigation("EmployeeSales");
b.Navigation("PreSaleWorkSale");
});
#pragma warning restore 612, 618
}
}
}

View File

@ -79,7 +79,7 @@ namespace CarCenterDataBaseImplement.Models
{
var EmployeeSales = context.EmployeeSales.Where(rec => rec.EmployeeId == model.Id).ToList();
if (EmployeeSales != null && EmployeeSales.Any())
if (EmployeeSales != null && EmployeeSales.Count > 0)
{
context.EmployeeSales.RemoveRange(EmployeeSales.Where(rec => !model.EmployeeSales.ContainsKey(rec.SaleId)));
context.SaveChanges();

View File

@ -80,7 +80,7 @@ namespace CarCenterDataBaseImplement.Models
{
var PreSaleWorkSales = context.PreSaleWorkSales.Where(rec => rec.PreSaleWorkId == model.Id).ToList();
if (PreSaleWorkSales != null && PreSaleWorkSales.Any())
if (PreSaleWorkSales != null && PreSaleWorkSales.Count > 0)
{
context.PreSaleWorkSales.RemoveRange(PreSaleWorkSales.Where(rec => !model.PreSaleWorkSales.ContainsKey(rec.SaleId)));
context.SaveChanges();

View File

@ -8,6 +8,13 @@
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CarCenterDataBaseImplement\CarCenterDataBaseImplement.csproj" />
</ItemGroup>