BD fixes.
This commit is contained in:
parent
5d42a15fef
commit
8682259cfb
@ -20,7 +20,7 @@ namespace ComputerStoreDatabaseImplement.Implements
|
||||
if (string.IsNullOrEmpty(model.Name) && !model.ID.HasValue) { return null; }
|
||||
|
||||
using var context = new ComputerStoreDatabase();
|
||||
return context.PCs.Include(x => x.Employee).Include(x => x.Components).ThenInclude(x => x.Component).FirstOrDefault(x => (!string.IsNullOrEmpty(model.Name) && model.Name.Equals(x.Name)) || (model.ID.HasValue && model.ID == x.ID))?.GetViewModel;
|
||||
return context.PCS.Include(x => x.Employee).Include(x => x.Request).FirstOrDefault(x => (!string.IsNullOrEmpty(model.Name) && model.Name.Equals(x.Name)) || (model.ID.HasValue && model.ID == x.ID))?.GetViewModel;
|
||||
|
||||
}
|
||||
|
||||
@ -36,13 +36,13 @@ namespace ComputerStoreDatabaseImplement.Implements
|
||||
{
|
||||
return context.PCs.Include(x => x.Employee).Where(x => x.EmployeeID == model.EmployeeID).Select(x => x.GetViewModel).ToList();
|
||||
}
|
||||
return context.PCs.Include(x => x.Components).ThenInclude(x => x.Component).Where(p => context.Requests.Where(r => context.Orders.Where(o => o.DateCreate >= model.DateFrom && o.DateCreate <= model.DateTo).Select(o => o.ID).Contains(r.OrderID)).Select(r => r.ID).Contains(p.RequestID)).ToList().Select(x => x.GetViewModel).ToList();
|
||||
return context.PCS.Include(x => x.Employee).Include(x => x.Request).Where(p => context.Requests.Where(r => context.Orders.Where(o => o.DateCreate >= model.DateFrom && o.DateCreate <= model.DateTo).Select(o => o.ID).Contains(r.OrderID)).Select(r => r.ID).Contains(p.RequestID)).ToList().Select(x => x.GetViewModel).ToList();
|
||||
}
|
||||
|
||||
public List<PCViewModel> GetFullList()
|
||||
{
|
||||
using var context = new ComputerStoreDatabase();
|
||||
return context.PCs.Include(x => x.Components).ThenInclude(x => x.Component).ToList().Select(x => x.GetViewModel).ToList();
|
||||
return context.PCS.Include(x => x.Employee).Include(x => x.Request).ToList().Select(x => x.GetViewModel).ToList();
|
||||
}
|
||||
|
||||
public PCViewModel? Insert(PCBindingModel model)
|
||||
@ -51,8 +51,17 @@ namespace ComputerStoreDatabaseImplement.Implements
|
||||
var newPC = PC.Create(context, model);
|
||||
if(newPC == null) { return null; }
|
||||
|
||||
context.PCs.Add(newPC);
|
||||
context.PCS.Add(newPC);
|
||||
|
||||
|
||||
|
||||
context.SaveChanges();
|
||||
|
||||
|
||||
|
||||
var pc = context.PCS.FirstOrDefault(x => x.Name.Equals(model.Name));
|
||||
PC.EnterPCID(context, pc);
|
||||
|
||||
return newPC.GetViewModel;
|
||||
}
|
||||
|
||||
@ -81,7 +90,7 @@ namespace ComputerStoreDatabaseImplement.Implements
|
||||
public PCViewModel? Delete(PCBindingModel model)
|
||||
{
|
||||
using var context = new ComputerStoreDatabase();
|
||||
var specPC = context.PCs.Include(x => x.Components).FirstOrDefault(x => x.ID == model.ID);
|
||||
var specPC = context.PCS.Include(x => x.Request).FirstOrDefault(x => x.ID == model.ID);
|
||||
if(specPC == null) { return null;}
|
||||
context.PCs.Remove(specPC);
|
||||
context.SaveChanges();
|
||||
|
@ -1,499 +0,0 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using ComputerStoreDatabaseImplement;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace ComputerStoreDatabaseImplement.Migrations
|
||||
{
|
||||
[DbContext(typeof(ComputerStoreDatabase))]
|
||||
[Migration("20230517185025_RelationFixesV2")]
|
||||
partial class RelationFixesV2
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "7.0.4")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
||||
|
||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Component", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.ToTable("Components");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Consignment", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<int>("OrderID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.Property<int?>("ProductID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("OrderID");
|
||||
|
||||
b.HasIndex("ProductID");
|
||||
|
||||
b.ToTable("Consignments");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ConsignmentProduct", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<int>("ConsignmentID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("Count")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("ProductID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("ConsignmentID");
|
||||
|
||||
b.HasIndex("ProductID");
|
||||
|
||||
b.ToTable("ConsignmentProducts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Employee", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<string>("FirstName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("LastName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("MiddleName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Password")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Username")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.ToTable("Employees");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Order", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<DateTime>("DateCreate")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<DateTime?>("DateImplement")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.Property<int>("SellerID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("Status")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("SellerID");
|
||||
|
||||
b.ToTable("Orders");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.PC", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<int>("EmployeeID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.Property<int>("RequestID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("EmployeeID");
|
||||
|
||||
b.ToTable("PCs");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<int>("EmployeeID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("EmployeeID");
|
||||
|
||||
b.ToTable("Products");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ProductComponent", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<int>("ComponentID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("Count")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("ProductID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("ComponentID");
|
||||
|
||||
b.HasIndex("ProductID");
|
||||
|
||||
b.ToTable("ProductComponents");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Request", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<int>("OrderID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int?>("PCID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("OrderID");
|
||||
|
||||
b.ToTable("Requests");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.RequestComponent", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<int>("ComponentID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("Count")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int?>("PCID")
|
||||
.IsRequired()
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("RequestID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("ComponentID");
|
||||
|
||||
b.HasIndex("PCID");
|
||||
|
||||
b.HasIndex("RequestID");
|
||||
|
||||
b.ToTable("RequestComponents");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Seller", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<string>("FirstName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("LastName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("MiddleName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Password")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Username")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.ToTable("Sellers");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Consignment", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Order", "Order")
|
||||
.WithMany("_consignments")
|
||||
.HasForeignKey("OrderID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Product", null)
|
||||
.WithMany("Consignments")
|
||||
.HasForeignKey("ProductID");
|
||||
|
||||
b.Navigation("Order");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ConsignmentProduct", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Consignment", "Consignment")
|
||||
.WithMany("Products")
|
||||
.HasForeignKey("ConsignmentID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Product", "Product")
|
||||
.WithMany()
|
||||
.HasForeignKey("ProductID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Consignment");
|
||||
|
||||
b.Navigation("Product");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Order", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Seller", "Seller")
|
||||
.WithMany("Orders")
|
||||
.HasForeignKey("SellerID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Seller");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.PC", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Employee", "Employee")
|
||||
.WithMany("PCs")
|
||||
.HasForeignKey("EmployeeID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Employee");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Employee", "Employee")
|
||||
.WithMany("Products")
|
||||
.HasForeignKey("EmployeeID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Employee");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ProductComponent", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Component", "Component")
|
||||
.WithMany("ConsignmentComponents")
|
||||
.HasForeignKey("ComponentID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Product", "Product")
|
||||
.WithMany("Components")
|
||||
.HasForeignKey("ProductID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Component");
|
||||
|
||||
b.Navigation("Product");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Request", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Order", "Order")
|
||||
.WithMany("_requests")
|
||||
.HasForeignKey("OrderID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Order");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.RequestComponent", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Component", "Component")
|
||||
.WithMany("RequestComponents")
|
||||
.HasForeignKey("ComponentID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.PC", "PC")
|
||||
.WithMany("Components")
|
||||
.HasForeignKey("PCID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Request", "Request")
|
||||
.WithMany("PCs")
|
||||
.HasForeignKey("RequestID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Component");
|
||||
|
||||
b.Navigation("PC");
|
||||
|
||||
b.Navigation("Request");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Component", b =>
|
||||
{
|
||||
b.Navigation("ConsignmentComponents");
|
||||
|
||||
b.Navigation("RequestComponents");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Consignment", b =>
|
||||
{
|
||||
b.Navigation("Products");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Employee", b =>
|
||||
{
|
||||
b.Navigation("PCs");
|
||||
|
||||
b.Navigation("Products");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Order", b =>
|
||||
{
|
||||
b.Navigation("_consignments");
|
||||
|
||||
b.Navigation("_requests");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.PC", b =>
|
||||
{
|
||||
b.Navigation("Components");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b =>
|
||||
{
|
||||
b.Navigation("Components");
|
||||
|
||||
b.Navigation("Consignments");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Request", b =>
|
||||
{
|
||||
b.Navigation("PCs");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Seller", b =>
|
||||
{
|
||||
b.Navigation("Orders");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace ComputerStoreDatabaseImplement.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class RelationFixesV2 : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_RequestComponents_PCs_PCID",
|
||||
table: "RequestComponents");
|
||||
|
||||
migrationBuilder.AlterColumn<int>(
|
||||
name: "PCID",
|
||||
table: "RequestComponents",
|
||||
type: "int",
|
||||
nullable: false,
|
||||
defaultValue: 0,
|
||||
oldClrType: typeof(int),
|
||||
oldType: "int",
|
||||
oldNullable: true);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_RequestComponents_PCs_PCID",
|
||||
table: "RequestComponents",
|
||||
column: "PCID",
|
||||
principalTable: "PCs",
|
||||
principalColumn: "ID",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_RequestComponents_PCs_PCID",
|
||||
table: "RequestComponents");
|
||||
|
||||
migrationBuilder.AlterColumn<int>(
|
||||
name: "PCID",
|
||||
table: "RequestComponents",
|
||||
type: "int",
|
||||
nullable: true,
|
||||
oldClrType: typeof(int),
|
||||
oldType: "int");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_RequestComponents_PCs_PCID",
|
||||
table: "RequestComponents",
|
||||
column: "PCID",
|
||||
principalTable: "PCs",
|
||||
principalColumn: "ID");
|
||||
}
|
||||
}
|
||||
}
|
@ -1,498 +0,0 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using ComputerStoreDatabaseImplement;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace ComputerStoreDatabaseImplement.Migrations
|
||||
{
|
||||
[DbContext(typeof(ComputerStoreDatabase))]
|
||||
[Migration("20230517185727_RelationFixesV3")]
|
||||
partial class RelationFixesV3
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "7.0.4")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
||||
|
||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Component", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.ToTable("Components");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Consignment", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<int>("OrderID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.Property<int?>("ProductID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("OrderID");
|
||||
|
||||
b.HasIndex("ProductID");
|
||||
|
||||
b.ToTable("Consignments");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ConsignmentProduct", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<int>("ConsignmentID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("Count")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("ProductID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("ConsignmentID");
|
||||
|
||||
b.HasIndex("ProductID");
|
||||
|
||||
b.ToTable("ConsignmentProducts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Employee", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<string>("FirstName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("LastName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("MiddleName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Password")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Username")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.ToTable("Employees");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Order", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<DateTime>("DateCreate")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<DateTime?>("DateImplement")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.Property<int>("SellerID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("Status")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("SellerID");
|
||||
|
||||
b.ToTable("Orders");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.PC", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<int>("EmployeeID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.Property<int>("RequestID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("EmployeeID");
|
||||
|
||||
b.ToTable("PCs");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<int>("EmployeeID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("EmployeeID");
|
||||
|
||||
b.ToTable("Products");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ProductComponent", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<int>("ComponentID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("Count")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("ProductID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("ComponentID");
|
||||
|
||||
b.HasIndex("ProductID");
|
||||
|
||||
b.ToTable("ProductComponents");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Request", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<int>("OrderID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int?>("PCID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("OrderID");
|
||||
|
||||
b.ToTable("Requests");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.RequestComponent", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<int>("ComponentID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("Count")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("PCID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("RequestID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("ComponentID");
|
||||
|
||||
b.HasIndex("PCID");
|
||||
|
||||
b.HasIndex("RequestID");
|
||||
|
||||
b.ToTable("RequestComponents");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Seller", b =>
|
||||
{
|
||||
b.Property<int>("ID")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
|
||||
|
||||
b.Property<string>("FirstName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("LastName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("MiddleName")
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Password")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.Property<string>("Username")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.ToTable("Sellers");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Consignment", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Order", "Order")
|
||||
.WithMany("_consignments")
|
||||
.HasForeignKey("OrderID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Product", null)
|
||||
.WithMany("Consignments")
|
||||
.HasForeignKey("ProductID");
|
||||
|
||||
b.Navigation("Order");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ConsignmentProduct", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Consignment", "Consignment")
|
||||
.WithMany("Products")
|
||||
.HasForeignKey("ConsignmentID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Product", "Product")
|
||||
.WithMany()
|
||||
.HasForeignKey("ProductID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Consignment");
|
||||
|
||||
b.Navigation("Product");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Order", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Seller", "Seller")
|
||||
.WithMany("Orders")
|
||||
.HasForeignKey("SellerID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Seller");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.PC", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Employee", "Employee")
|
||||
.WithMany("PCs")
|
||||
.HasForeignKey("EmployeeID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Employee");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Employee", "Employee")
|
||||
.WithMany("Products")
|
||||
.HasForeignKey("EmployeeID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Employee");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ProductComponent", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Component", "Component")
|
||||
.WithMany("ConsignmentComponents")
|
||||
.HasForeignKey("ComponentID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Product", "Product")
|
||||
.WithMany("Components")
|
||||
.HasForeignKey("ProductID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Component");
|
||||
|
||||
b.Navigation("Product");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Request", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Order", "Order")
|
||||
.WithMany("_requests")
|
||||
.HasForeignKey("OrderID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Order");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.RequestComponent", b =>
|
||||
{
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Component", "Component")
|
||||
.WithMany("RequestComponents")
|
||||
.HasForeignKey("ComponentID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.PC", "PC")
|
||||
.WithMany("Components")
|
||||
.HasForeignKey("PCID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Request", "Request")
|
||||
.WithMany("PCs")
|
||||
.HasForeignKey("RequestID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Component");
|
||||
|
||||
b.Navigation("PC");
|
||||
|
||||
b.Navigation("Request");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Component", b =>
|
||||
{
|
||||
b.Navigation("ConsignmentComponents");
|
||||
|
||||
b.Navigation("RequestComponents");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Consignment", b =>
|
||||
{
|
||||
b.Navigation("Products");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Employee", b =>
|
||||
{
|
||||
b.Navigation("PCs");
|
||||
|
||||
b.Navigation("Products");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Order", b =>
|
||||
{
|
||||
b.Navigation("_consignments");
|
||||
|
||||
b.Navigation("_requests");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.PC", b =>
|
||||
{
|
||||
b.Navigation("Components");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b =>
|
||||
{
|
||||
b.Navigation("Components");
|
||||
|
||||
b.Navigation("Consignments");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Request", b =>
|
||||
{
|
||||
b.Navigation("PCs");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Seller", b =>
|
||||
{
|
||||
b.Navigation("Orders");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace ComputerStoreDatabaseImplement.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class RelationFixesV3 : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -17,7 +17,7 @@ namespace ComputerStoreDatabaseImplement.Migrations
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "7.0.4")
|
||||
.HasAnnotation("ProductVersion", "7.0.5")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
||||
|
||||
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||
@ -179,7 +179,9 @@ namespace ComputerStoreDatabaseImplement.Migrations
|
||||
|
||||
b.HasIndex("EmployeeID");
|
||||
|
||||
b.ToTable("PCs");
|
||||
b.HasIndex("RequestID");
|
||||
|
||||
b.ToTable("PCS");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b =>
|
||||
@ -271,7 +273,7 @@ namespace ComputerStoreDatabaseImplement.Migrations
|
||||
b.Property<int>("Count")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("PCID")
|
||||
b.Property<int?>("PCID")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<int>("RequestID")
|
||||
@ -281,8 +283,6 @@ namespace ComputerStoreDatabaseImplement.Migrations
|
||||
|
||||
b.HasIndex("ComponentID");
|
||||
|
||||
b.HasIndex("PCID");
|
||||
|
||||
b.HasIndex("RequestID");
|
||||
|
||||
b.ToTable("RequestComponents");
|
||||
@ -371,7 +371,15 @@ namespace ComputerStoreDatabaseImplement.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Request", "Request")
|
||||
.WithMany("PersonalComputers")
|
||||
.HasForeignKey("RequestID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Employee");
|
||||
|
||||
b.Navigation("Request");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b =>
|
||||
@ -423,12 +431,6 @@ namespace ComputerStoreDatabaseImplement.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.PC", "PC")
|
||||
.WithMany("Components")
|
||||
.HasForeignKey("PCID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ComputerStoreDatabaseImplement.Models.Request", "Request")
|
||||
.WithMany("PCs")
|
||||
.HasForeignKey("RequestID")
|
||||
@ -437,8 +439,6 @@ namespace ComputerStoreDatabaseImplement.Migrations
|
||||
|
||||
b.Navigation("Component");
|
||||
|
||||
b.Navigation("PC");
|
||||
|
||||
b.Navigation("Request");
|
||||
});
|
||||
|
||||
@ -468,11 +468,6 @@ namespace ComputerStoreDatabaseImplement.Migrations
|
||||
b.Navigation("_requests");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.PC", b =>
|
||||
{
|
||||
b.Navigation("Components");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b =>
|
||||
{
|
||||
b.Navigation("Components");
|
||||
@ -483,6 +478,8 @@ namespace ComputerStoreDatabaseImplement.Migrations
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Request", b =>
|
||||
{
|
||||
b.Navigation("PCs");
|
||||
|
||||
b.Navigation("PersonalComputers");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Seller", b =>
|
||||
|
@ -27,27 +27,14 @@ namespace ComputerStoreDatabaseImplement.Models
|
||||
[Required]
|
||||
public int RequestID { get; private set; }
|
||||
|
||||
private Dictionary<int, (IComponentModel, int)>? _pcComponents = null;
|
||||
|
||||
|
||||
[NotMapped]
|
||||
public Dictionary<int, (IComponentModel, int)> PCComponents
|
||||
{
|
||||
get
|
||||
{
|
||||
if(_pcComponents == null)
|
||||
{
|
||||
_pcComponents = Components.ToDictionary(recPC => recPC.ComponentID, recPC => (recPC.Component as IComponentModel, recPC.Count));
|
||||
}
|
||||
return _pcComponents;
|
||||
}
|
||||
}
|
||||
public Dictionary<int, (IComponentModel, int)> PCComponents { get; private set; } = new();
|
||||
|
||||
[ForeignKey("PCID")]
|
||||
public virtual List<RequestComponent>? Components { get; set; } = new();
|
||||
|
||||
public virtual Employee Employee { get; set; }
|
||||
|
||||
public virtual Request Request { get; set; }
|
||||
|
||||
public static PC Create(ComputerStoreDatabase context, PCBindingModel model)
|
||||
{
|
||||
return new PC()
|
||||
@ -57,11 +44,7 @@ namespace ComputerStoreDatabaseImplement.Models
|
||||
Price = model.Price,
|
||||
EmployeeID = model.EmployeeID,
|
||||
RequestID = model.RequestID,
|
||||
Components = model.PCComponents.Select(x => new RequestComponent
|
||||
{
|
||||
Component = context.Components.First(y => y.ID == x.Key),
|
||||
Count = x.Value.Item2
|
||||
}).ToList()
|
||||
PCComponents = model.PCComponents
|
||||
};
|
||||
}
|
||||
|
||||
@ -69,6 +52,7 @@ namespace ComputerStoreDatabaseImplement.Models
|
||||
{
|
||||
Name = model.Name;
|
||||
Price = model.Price;
|
||||
PCComponents = model.PCComponents;
|
||||
}
|
||||
|
||||
public PCViewModel GetViewModel => new()
|
||||
@ -101,19 +85,17 @@ namespace ComputerStoreDatabaseImplement.Models
|
||||
context.SaveChanges();
|
||||
}
|
||||
|
||||
var pc = context.PCs.First(rec => model.ID == ID);
|
||||
foreach(var pcc in model.PCComponents )
|
||||
{
|
||||
context.RequestComponents.Add(new RequestComponent
|
||||
{
|
||||
PC = pc,
|
||||
Component = context.Components.First(x=> x.ID == pcc.Key),
|
||||
Request = context.Requests.First(x => x.ID == model.RequestID),
|
||||
Count = pcc.Value.Item2
|
||||
});
|
||||
context.SaveChanges();
|
||||
}
|
||||
_pcComponents = null;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -31,6 +31,9 @@ namespace ComputerStoreDatabaseImplement.Models
|
||||
[ForeignKey("RequestID")]
|
||||
public virtual List<RequestComponent> PCs { get; set; } = new();
|
||||
|
||||
[ForeignKey("RequestID")]
|
||||
public virtual List<PC> PersonalComputers { get; set; } = new();
|
||||
|
||||
public static Request? Create(ComputerStoreDatabase context, RequestBindingModel model)
|
||||
{
|
||||
if (model == null)
|
||||
|
@ -18,13 +18,13 @@ namespace ComputerStoreDatabaseImplement.Models
|
||||
public int ComponentID { get; set; }
|
||||
|
||||
|
||||
public int PCID { get; set; }
|
||||
public int? PCID { get; set; }
|
||||
|
||||
[Required]
|
||||
public int Count { get; set; }
|
||||
|
||||
public virtual PC? PC { get; set; } = new();
|
||||
public virtual Component Component { get; set; } = new();
|
||||
public virtual Request Request { get; set; } = new();
|
||||
|
||||
public virtual Component Component { get; set; }
|
||||
public virtual Request Request { get; set; }
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user