From f502a218a76f4ab2c89bc845071094400fe40bbc Mon Sep 17 00:00:00 2001 From: Sergey Kozyrev Date: Tue, 30 Apr 2024 17:03:49 +0400 Subject: [PATCH] =?UTF-8?q?FixDatabase=20+=20UpdateView=20=D0=97=D0=B0?= =?UTF-8?q?=D1=80=D1=8F=D0=B6=D0=B0=D0=B9,=20=D0=B7=D0=B0=D1=80=D1=8F-?= =?UTF-8?q?=D0=B7=D0=B0=D1=80=D1=8F-=D0=B6=D0=B0=D0=B9,=20=D0=B7=D0=B0?= =?UTF-8?q?=D1=80=D1=8F=D0=B6=D0=B0=D0=B9=20=D0=BC=D0=B5=D0=BD=D1=8F=20?= =?UTF-8?q?=D0=9C=D0=BD=D0=B5=20=D0=BD=D0=B5=20=D1=81=D0=BF=D1=80=D1=8F?= =?UTF-8?q?=D1=82=D0=B0=D1=82=D1=8C=D1=81=D1=8F=20=D0=BE=D1=82=20=D1=82?= =?UTF-8?q?=D0=B5=D0=B1=D1=8F=20=D0=B8=20=D0=BD=D0=B5=20=D1=83=D0=B1=D0=B5?= =?UTF-8?q?=D0=B6=D0=B0=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Course/Course.sln | 8 +- .../Implements/DetailStorage.cs | 16 +--- .../Implements/ProductStorage.cs | 22 ++--- .../Implements/ProductionStorage.cs | 20 ++--- ... => 20240430122917_tryToCheck.Designer.cs} | 13 ++- ...trange.cs => 20240430122917_tryToCheck.cs} | 25 +++--- .../FactoryGoWorkDatabaseModelSnapshot.cs | 9 +- .../DatabaseImplement/Models/Implementer.cs | 1 + Course/DatabaseImplement/Models/Product.cs | 9 +- Course/DatabaseImplement/Models/Production.cs | 4 +- Course/DatabaseImplement/Models/Workshop.cs | 1 - .../Controllers/HomeController.cs | 85 ++++++++++++++++-- .../Views/Home/CreateProduct.cshtml | 3 +- .../Views/Home/CreateProduction.cshtml | 1 - .../Views/Home/IndexDetail.cshtml | 2 +- .../Views/Home/IndexProduct.cshtml | 13 ++- .../ImplementerApp/Views/Home/Privacy.cshtml | 28 +++++- .../Views/Shared/_Layout.cshtml | 3 +- .../wwwroot/images/Work-transformed.png | Bin 0 -> 90284 bytes Course/TestingDatabase/Program.cs | 17 ++++ Course/TestingDatabase/TestingDatabase.csproj | 16 ++++ 21 files changed, 206 insertions(+), 90 deletions(-) rename Course/DatabaseImplement/Migrations/{20240427200038_somestrange.Designer.cs => 20240430122917_tryToCheck.Designer.cs} (98%) rename Course/DatabaseImplement/Migrations/{20240427200038_somestrange.cs => 20240430122917_tryToCheck.cs} (96%) create mode 100644 Course/ImplementerApp/wwwroot/images/Work-transformed.png create mode 100644 Course/TestingDatabase/Program.cs create mode 100644 Course/TestingDatabase/TestingDatabase.csproj diff --git a/Course/Course.sln b/Course/Course.sln index ef82a78..385746f 100644 --- a/Course/Course.sln +++ b/Course/Course.sln @@ -13,7 +13,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseImplement", "Databa EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ImplementerApp", "ImplementerApp\ImplementerApp.csproj", "{9CEB1DEF-2254-4745-89C9-832E2F857BF4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GuarantorAPP", "GuarantorAPP\GuarantorAPP.csproj", "{9B5881EA-1F06-422A-85F4-BDD188921374}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GuarantorAPP", "GuarantorAPP\GuarantorAPP.csproj", "{9B5881EA-1F06-422A-85F4-BDD188921374}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestingDatabase", "TestingDatabase\TestingDatabase.csproj", "{022506BE-1362-4426-9B66-168680BD4AA4}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -45,6 +47,10 @@ Global {9B5881EA-1F06-422A-85F4-BDD188921374}.Debug|Any CPU.Build.0 = Debug|Any CPU {9B5881EA-1F06-422A-85F4-BDD188921374}.Release|Any CPU.ActiveCfg = Release|Any CPU {9B5881EA-1F06-422A-85F4-BDD188921374}.Release|Any CPU.Build.0 = Release|Any CPU + {022506BE-1362-4426-9B66-168680BD4AA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {022506BE-1362-4426-9B66-168680BD4AA4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {022506BE-1362-4426-9B66-168680BD4AA4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {022506BE-1362-4426-9B66-168680BD4AA4}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Course/DatabaseImplement/Implements/DetailStorage.cs b/Course/DatabaseImplement/Implements/DetailStorage.cs index bfe1472..b93ec5b 100644 --- a/Course/DatabaseImplement/Implements/DetailStorage.cs +++ b/Course/DatabaseImplement/Implements/DetailStorage.cs @@ -27,23 +27,13 @@ namespace DatabaseImplement.Implements public List GetFilteredList(DetailSearchModel model) { - if (!model.Id.HasValue && string.IsNullOrEmpty(model.Name) && !model.UserId.HasValue) + if (!model.UserId.HasValue) { return new(); } using var context = new FactoryGoWorkDatabase(); - if (model.Id.HasValue) - { - return context.Details.Where(x => x.Id == model.Id).Select(x => x.GetViewModel).ToList(); - } - else if (model.UserId.HasValue) - { - return context.Details.Where(x => x.UserId == model.Id).Select(x => x.GetViewModel).ToList(); - } - else - { - return context.Details.Where(x => model.Name == x.Name).Select(x => x.GetViewModel).ToList(); - } + return context.Details.Where(x => x.UserId == model.Id).Select(x => x.GetViewModel).ToList(); + } public List GetFullList() diff --git a/Course/DatabaseImplement/Implements/ProductStorage.cs b/Course/DatabaseImplement/Implements/ProductStorage.cs index 4f835fa..0be01eb 100644 --- a/Course/DatabaseImplement/Implements/ProductStorage.cs +++ b/Course/DatabaseImplement/Implements/ProductStorage.cs @@ -3,6 +3,7 @@ using Contracts.SearchModels; using Contracts.StoragesContracts; using Contracts.ViewModels; using DatabaseImplement.Models; +using Microsoft.EntityFrameworkCore; namespace DatabaseImplement.Implements { @@ -14,6 +15,7 @@ namespace DatabaseImplement.Implements var newProduct = context.Products.FirstOrDefault(x => x.Id == model.Id); if (newProduct == null) return null; + newProduct.UpdateDetails(context, model); context.Products.Remove(newProduct); context.SaveChanges(); return newProduct.GetViewModel; @@ -22,34 +24,23 @@ namespace DatabaseImplement.Implements public ProductViewModel? GetElement(ProductSearchModel model) { using var context = new FactoryGoWorkDatabase(); - return context.Products.FirstOrDefault(x => (!string.IsNullOrEmpty(model.Name) && x.Name.Contains(model.Name)) || (model.Id.HasValue && x.Id == model.Id))?.GetViewModel; + return context.Products.Include(p => p.Details).ThenInclude(p => p.Detail).FirstOrDefault(x => (!string.IsNullOrEmpty(model.Name) && x.Name.Contains(model.Name)) || (model.Id.HasValue && x.Id == model.Id))?.GetViewModel; } public List GetFilteredList(ProductSearchModel model) { - if (!model.Id.HasValue && string.IsNullOrEmpty(model.Name) && !model.UserId.HasValue) + if (!model.UserId.HasValue) { return new(); } using var context = new FactoryGoWorkDatabase(); - if (model.Id.HasValue) - { - return context.Products.Where(x => x.Id == model.Id).Select(x => x.GetViewModel).ToList(); - } - else if (model.UserId.HasValue) - { - return context.Products.Where(x => x.UserId == model.Id).Select(x => x.GetViewModel).ToList(); - } - else - { - return context.Products.Where(x => model.Name == x.Name).Select(x => x.GetViewModel).ToList(); - } + return context.Products.Include(p => p.Details).ThenInclude(p => p.Detail).Where(x => x.UserId == model.Id).Select(x => x.GetViewModel).ToList(); } public List GetFullList() { using var context = new FactoryGoWorkDatabase(); - return context.Products.Select(x => x.GetViewModel).ToList(); + return context.Products.Include(p => p.Details).ThenInclude(p => p.Detail).Select(x => x.GetViewModel).ToList(); } public ProductViewModel? Insert(ProductBindingModel model) @@ -70,6 +61,7 @@ namespace DatabaseImplement.Implements if (newProduct == null) return null; newProduct.Update(model); + newProduct.UpdateDetails(context, model); context.SaveChanges(); return newProduct.GetViewModel; } diff --git a/Course/DatabaseImplement/Implements/ProductionStorage.cs b/Course/DatabaseImplement/Implements/ProductionStorage.cs index b5f0dcd..9c3dd90 100644 --- a/Course/DatabaseImplement/Implements/ProductionStorage.cs +++ b/Course/DatabaseImplement/Implements/ProductionStorage.cs @@ -3,6 +3,7 @@ using Contracts.SearchModels; using Contracts.StoragesContracts; using Contracts.ViewModels; using DatabaseImplement.Models; +using Microsoft.EntityFrameworkCore; namespace DatabaseImplement.Implements { @@ -22,34 +23,23 @@ namespace DatabaseImplement.Implements public ProductionViewModel? GetElement(ProductionSearchModel model) { using var context = new FactoryGoWorkDatabase(); - return context.Productions.FirstOrDefault(x => (!string.IsNullOrEmpty(model.Name) && x.Name.Contains(model.Name)) || (model.Id.HasValue && x.Id == model.Id))?.GetViewModel; + return context.Productions.Include(x => x.Details).ThenInclude(x => x.Detail).FirstOrDefault(x => (!string.IsNullOrEmpty(model.Name) && x.Name.Contains(model.Name)) || (model.Id.HasValue && x.Id == model.Id))?.GetViewModel; } public List GetFilteredList(ProductionSearchModel model) { - if (!model.Id.HasValue && string.IsNullOrEmpty(model.Name) && !model.UserId.HasValue) + if (!model.UserId.HasValue) { return new(); } using var context = new FactoryGoWorkDatabase(); - if (model.Id.HasValue) - { - return context.Productions.Where(x => x.Id == model.Id).Select(x => x.GetViewModel).ToList(); - } - else if (model.UserId.HasValue) - { - return context.Productions.Where(x => x.UserId == model.Id).Select(x => x.GetViewModel).ToList(); - } - else - { - return context.Productions.Where(x => model.Name == x.Name).Select(x => x.GetViewModel).ToList(); - } + return context.Productions.Include(x => x.Details).ThenInclude(x => x.Detail).Where(x => x.UserId == model.Id).Select(x => x.GetViewModel).ToList(); } public List GetFullList() { using var context = new FactoryGoWorkDatabase(); - return context.Productions.Select(x => x.GetViewModel).ToList(); + return context.Productions.Include(x => x.Details).ThenInclude(x => x.Detail).Select(x => x.GetViewModel).ToList(); } public ProductionViewModel? Insert(ProductionBindingModel model) diff --git a/Course/DatabaseImplement/Migrations/20240427200038_somestrange.Designer.cs b/Course/DatabaseImplement/Migrations/20240430122917_tryToCheck.Designer.cs similarity index 98% rename from Course/DatabaseImplement/Migrations/20240427200038_somestrange.Designer.cs rename to Course/DatabaseImplement/Migrations/20240430122917_tryToCheck.Designer.cs index 0d99a3d..3a465a1 100644 --- a/Course/DatabaseImplement/Migrations/20240427200038_somestrange.Designer.cs +++ b/Course/DatabaseImplement/Migrations/20240430122917_tryToCheck.Designer.cs @@ -12,8 +12,8 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; namespace DatabaseImplement.Migrations { [DbContext(typeof(FactoryGoWorkDatabase))] - [Migration("20240427200038_somestrange")] - partial class somestrange + [Migration("20240430122917_tryToCheck")] + partial class tryToCheck { protected override void BuildTargetModel(ModelBuilder modelBuilder) { @@ -330,7 +330,6 @@ namespace DatabaseImplement.Migrations .HasColumnType("nvarchar(max)"); b.Property("ProductionId") - .IsRequired() .HasColumnType("int"); b.Property("Title") @@ -489,10 +488,8 @@ namespace DatabaseImplement.Migrations modelBuilder.Entity("DatabaseImplement.Models.Workshop", b => { b.HasOne("DatabaseImplement.Models.Production", "Production") - .WithMany() - .HasForeignKey("ProductionId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + .WithMany("Workshops") + .HasForeignKey("ProductionId"); b.HasOne("DatabaseImplement.Models.Guarantor", "Guarantor") .WithMany("Workshops") @@ -543,6 +540,8 @@ namespace DatabaseImplement.Migrations modelBuilder.Entity("DatabaseImplement.Models.Production", b => { b.Navigation("Details"); + + b.Navigation("Workshops"); }); modelBuilder.Entity("DatabaseImplement.Models.Worker", b => diff --git a/Course/DatabaseImplement/Migrations/20240427200038_somestrange.cs b/Course/DatabaseImplement/Migrations/20240430122917_tryToCheck.cs similarity index 96% rename from Course/DatabaseImplement/Migrations/20240427200038_somestrange.cs rename to Course/DatabaseImplement/Migrations/20240430122917_tryToCheck.cs index 1d7d553..e6054f2 100644 --- a/Course/DatabaseImplement/Migrations/20240427200038_somestrange.cs +++ b/Course/DatabaseImplement/Migrations/20240430122917_tryToCheck.cs @@ -5,7 +5,7 @@ using Microsoft.EntityFrameworkCore.Migrations; namespace DatabaseImplement.Migrations { - public partial class somestrange : Migration + public partial class tryToCheck : Migration { protected override void Up(MigrationBuilder migrationBuilder) { @@ -151,7 +151,8 @@ namespace DatabaseImplement.Migrations name: "FK_Products_Machines_MachineId", column: x => x.MachineId, principalTable: "Machines", - principalColumn: "Id"); + principalColumn: "Id", + onDelete: ReferentialAction.SetNull); }); migrationBuilder.CreateTable( @@ -171,13 +172,13 @@ namespace DatabaseImplement.Migrations column: x => x.WorkerId, principalTable: "Machines", principalColumn: "Id", - onDelete: ReferentialAction.NoAction); + onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_WorkerMachines_Workers_WorkerId", column: x => x.WorkerId, principalTable: "Workers", principalColumn: "Id", - onDelete: ReferentialAction.NoAction); + onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( @@ -197,13 +198,13 @@ namespace DatabaseImplement.Migrations column: x => x.DetailId, principalTable: "Details", principalColumn: "Id", - onDelete: ReferentialAction.NoAction); + onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_DetailProductions_Productions_ProductionId", column: x => x.ProductionId, principalTable: "Productions", principalColumn: "Id", - onDelete: ReferentialAction.NoAction); + onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( @@ -216,7 +217,7 @@ namespace DatabaseImplement.Migrations Address = table.Column(type: "nvarchar(max)", nullable: false), Director = table.Column(type: "nvarchar(max)", nullable: false), UserId = table.Column(type: "int", nullable: false), - ProductionId = table.Column(type: "int", nullable: false) + ProductionId = table.Column(type: "int", nullable: true) }, constraints: table => { @@ -232,7 +233,7 @@ namespace DatabaseImplement.Migrations column: x => x.ProductionId, principalTable: "Productions", principalColumn: "Id", - onDelete: ReferentialAction.Cascade); + onDelete: ReferentialAction.SetNull); }); migrationBuilder.CreateTable( @@ -253,13 +254,13 @@ namespace DatabaseImplement.Migrations column: x => x.DetailId, principalTable: "Details", principalColumn: "Id", - onDelete: ReferentialAction.NoAction); + onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_DetailProducts_Products_ProductId", column: x => x.ProductId, principalTable: "Products", principalColumn: "Id", - onDelete: ReferentialAction.NoAction); + onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( @@ -279,13 +280,13 @@ namespace DatabaseImplement.Migrations column: x => x.WorkerId, principalTable: "Workers", principalColumn: "Id", - onDelete: ReferentialAction.NoAction); + onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_WorkerWorkshops_Workshops_WorkshopId", column: x => x.WorkshopId, principalTable: "Workshops", principalColumn: "Id", - onDelete: ReferentialAction.NoAction); + onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateIndex( diff --git a/Course/DatabaseImplement/Migrations/FactoryGoWorkDatabaseModelSnapshot.cs b/Course/DatabaseImplement/Migrations/FactoryGoWorkDatabaseModelSnapshot.cs index 1be806c..f409ead 100644 --- a/Course/DatabaseImplement/Migrations/FactoryGoWorkDatabaseModelSnapshot.cs +++ b/Course/DatabaseImplement/Migrations/FactoryGoWorkDatabaseModelSnapshot.cs @@ -328,7 +328,6 @@ namespace DatabaseImplement.Migrations .HasColumnType("nvarchar(max)"); b.Property("ProductionId") - .IsRequired() .HasColumnType("int"); b.Property("Title") @@ -487,10 +486,8 @@ namespace DatabaseImplement.Migrations modelBuilder.Entity("DatabaseImplement.Models.Workshop", b => { b.HasOne("DatabaseImplement.Models.Production", "Production") - .WithMany() - .HasForeignKey("ProductionId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + .WithMany("Workshops") + .HasForeignKey("ProductionId"); b.HasOne("DatabaseImplement.Models.Guarantor", "Guarantor") .WithMany("Workshops") @@ -541,6 +538,8 @@ namespace DatabaseImplement.Migrations modelBuilder.Entity("DatabaseImplement.Models.Production", b => { b.Navigation("Details"); + + b.Navigation("Workshops"); }); modelBuilder.Entity("DatabaseImplement.Models.Worker", b => diff --git a/Course/DatabaseImplement/Models/Implementer.cs b/Course/DatabaseImplement/Models/Implementer.cs index 0dc064a..1cc346e 100644 --- a/Course/DatabaseImplement/Models/Implementer.cs +++ b/Course/DatabaseImplement/Models/Implementer.cs @@ -56,6 +56,7 @@ namespace DatabaseImplement.Models return; Email = model.Email; Name = model.Name; + Login = model.Login; Password = model.Password; } public ImplementerViewModel GetViewModel => new() diff --git a/Course/DatabaseImplement/Models/Product.cs b/Course/DatabaseImplement/Models/Product.cs index 9b31d2f..1543963 100644 --- a/Course/DatabaseImplement/Models/Product.cs +++ b/Course/DatabaseImplement/Models/Product.cs @@ -92,12 +92,15 @@ namespace DatabaseImplement.Models context.SaveChanges(); foreach (var upDetail in productDetails) { - upDetail.Count = model.ProductDetails[upDetail.DetailId].Item2; - model.ProductDetails.Remove(upDetail.DetailId); + if (model.ProductDetails.ContainsKey(upDetail.DetailId)) + { + upDetail.Count = model.ProductDetails[upDetail.DetailId].Item2; + model.ProductDetails.Remove(upDetail.DetailId); + } } context.SaveChanges(); } - var product = context.Products.First(x => x.Id == model.Id); + var product = context.Products.FirstOrDefault(x => x.Id == model.Id); foreach (var dp in model.ProductDetails) { context.DetailProducts.Add(new DetailProduct diff --git a/Course/DatabaseImplement/Models/Production.cs b/Course/DatabaseImplement/Models/Production.cs index e1d8074..6dccffe 100644 --- a/Course/DatabaseImplement/Models/Production.cs +++ b/Course/DatabaseImplement/Models/Production.cs @@ -31,8 +31,10 @@ namespace DatabaseImplement.Models } } [ForeignKey("ProductionId")] - public List Details { get; set; } = new(); + public virtual List Details { get; set; } = new(); public virtual Implementer User { get; set; } + [ForeignKey("ProductionId")] + public virtual List Workshops { get; set; } public static Production Create(FactoryGoWorkDatabase context, ProductionBindingModel model) { diff --git a/Course/DatabaseImplement/Models/Workshop.cs b/Course/DatabaseImplement/Models/Workshop.cs index 7a13aec..94c8178 100644 --- a/Course/DatabaseImplement/Models/Workshop.cs +++ b/Course/DatabaseImplement/Models/Workshop.cs @@ -17,7 +17,6 @@ namespace DatabaseImplement.Models public string Director { get; set; } = string.Empty; [Required] public int UserId { get; set; } - [Required] public int? ProductionId { get; set; } public virtual Production? Production { get; set; } private Dictionary? _workerWorkshops = null; diff --git a/Course/ImplementerApp/Controllers/HomeController.cs b/Course/ImplementerApp/Controllers/HomeController.cs index 9d2d9b0..6e00cd3 100644 --- a/Course/ImplementerApp/Controllers/HomeController.cs +++ b/Course/ImplementerApp/Controllers/HomeController.cs @@ -60,7 +60,26 @@ namespace ImplementerApp.Controllers public IActionResult IndexProduct() { - return View(new List()); + List products = new List + { + new ProductViewModel + { + Id = 1, + Name = "Изделие 1", + Cost = 10.99, + UserId = 1, + MachineId = 1 + }, + new ProductViewModel + { + Id = 2, + Name = "Изделие 2", + Cost = 19.99, + UserId = 2, + MachineId = 2 + } + }; + return View(products); } public IActionResult CreateProduct() { @@ -83,7 +102,24 @@ namespace ImplementerApp.Controllers } public IActionResult IndexProduction() { - return View(new List()); + List productionViewModels = new List + { + new ProductionViewModel + { + Id = 1, + Name = "Производство А", + Cost = 1000.00, + UserId = 1 + }, + new ProductionViewModel + { + Id = 2, + Name = "Производство Б", + Cost = 1500.00, + UserId = 2 + } + }; + return View(productionViewModels); } public IActionResult CreateProduction() { @@ -105,16 +141,53 @@ namespace ImplementerApp.Controllers return View(details); } public IActionResult Privacy() - { - return View(); + { + ImplementerViewModel user = new() + { + Email = "mail@mail.ru", + Login = "Login", + Password = "password", + Name = "User" + + }; + + return View(user); } public IActionResult DetailTimeReport() { - return View(new List()); + List detailTimeReports = new List + { + new DetailTimeReport + { + DetailName = "Деталь А", + Productions = new List { "Производство 1", "Производство 2" }, + Machines = new List { "Машина X", "Машина Y" } + }, + new DetailTimeReport + { + DetailName = "Деталь B", + Productions = new List { "Производство 3", "Производство 4" }, + Machines = new List { "Машина Z", "Машина W" } + } + }; + return View(detailTimeReports); } public IActionResult DetailWorkshopReport() { - return View(new List()); + List detailWorkshopReports = new List + { + new DetailWorkshopReportViewModel + { + DetailName = "Деталь X", + WorkShops = new List { "Цех 1", "Цех 2" } + }, + new DetailWorkshopReportViewModel + { + DetailName = "Деталь Y", + WorkShops = new List { "Цех 3", "Цех 4" } + } + }; + return View(detailWorkshopReports); } public IActionResult ReportsMenu() { diff --git a/Course/ImplementerApp/Views/Home/CreateProduct.cshtml b/Course/ImplementerApp/Views/Home/CreateProduct.cshtml index bb0a870..0033b22 100644 --- a/Course/ImplementerApp/Views/Home/CreateProduct.cshtml +++ b/Course/ImplementerApp/Views/Home/CreateProduct.cshtml @@ -14,13 +14,14 @@
-
Details
+
Детали
+ diff --git a/Course/ImplementerApp/Views/Home/CreateProduction.cshtml b/Course/ImplementerApp/Views/Home/CreateProduction.cshtml index fa8cd21..de8b108 100644 --- a/Course/ImplementerApp/Views/Home/CreateProduction.cshtml +++ b/Course/ImplementerApp/Views/Home/CreateProduction.cshtml @@ -21,7 +21,6 @@ - diff --git a/Course/ImplementerApp/Views/Home/IndexDetail.cshtml b/Course/ImplementerApp/Views/Home/IndexDetail.cshtml index f8a9c80..ac228d1 100644 --- a/Course/ImplementerApp/Views/Home/IndexDetail.cshtml +++ b/Course/ImplementerApp/Views/Home/IndexDetail.cshtml @@ -57,7 +57,7 @@ Изменить } diff --git a/Course/ImplementerApp/Views/Home/IndexProduct.cshtml b/Course/ImplementerApp/Views/Home/IndexProduct.cshtml index 2f1be6b..820b716 100644 --- a/Course/ImplementerApp/Views/Home/IndexProduct.cshtml +++ b/Course/ImplementerApp/Views/Home/IndexProduct.cshtml @@ -7,11 +7,10 @@ }
-

Изедлия

+

Изделия

-Привязать станок к изделию - +ProductMachineAdd
@{ if (Model == null) @@ -34,6 +33,9 @@
+ @@ -55,11 +57,14 @@ + } diff --git a/Course/ImplementerApp/Views/Home/Privacy.cshtml b/Course/ImplementerApp/Views/Home/Privacy.cshtml index af4fb19..dcde174 100644 --- a/Course/ImplementerApp/Views/Home/Privacy.cshtml +++ b/Course/ImplementerApp/Views/Home/Privacy.cshtml @@ -1,6 +1,28 @@ @{ ViewData["Title"] = "Privacy Policy"; } -

@ViewData["Title"]

- -

Use this page to detail your site's privacy policy.

+
+

Личные данные

+
+ +
+
Логин:
+
+
+
+
Почта:
+
+
+
+
Пароль:
+
+
+
+
ФИО:
+
+
+
+
+
+
+ \ No newline at end of file diff --git a/Course/ImplementerApp/Views/Shared/_Layout.cshtml b/Course/ImplementerApp/Views/Shared/_Layout.cshtml index bc0e541..ca5b590 100644 --- a/Course/ImplementerApp/Views/Shared/_Layout.cshtml +++ b/Course/ImplementerApp/Views/Shared/_Layout.cshtml @@ -12,7 +12,8 @@
diff --git a/Course/ImplementerApp/wwwroot/images/Work-transformed.png b/Course/ImplementerApp/wwwroot/images/Work-transformed.png new file mode 100644 index 0000000000000000000000000000000000000000..1185fda41a01e73e8c6d6df6daccf1f607125727 GIT binary patch literal 90284 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 =n?R=^VeiqAsf7c$&U)8j>!jYPqq50Q2a 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 =;{GQ4wweCO zhVsAM;;|(iZ1>9+?Wz@R#ASUro^*0EoEW=e-O|&FI&X~q7+?=MJNs37BWDc2zkKM( zEMB(Jy~^IVR4c2O*-HIf!Oom5-1Wp{JhkMvawaUV!5p6N^)j8iZqJdfSdWkX+4a&3 zG$icNudQ$85te3p0L$E@C#jb66m9_d$)nv-6c8CmL$_>#Y5*PWCe!r!V9F;sK3 zZp3=jI{V6J#shO^K6+P7_P#DZ`NSeeUl*|tt+64gA*uSZ$38Nf=SAJIU5~gikM+_E zG!1xhY%1uw)*h$z%)_x_oeWnoo`X)V*62v#l=Q5|jE#P_Fub4EoD6dnPKI5xsjfe3 zv1jzDckw>MJ#)bW>si^-6BiuSiuJWV`vd+*`>b)4&98WB)^f9cl$T*?V>@!DN7RaQa)*Y@dh$IdKXQgW%fF({XCCRl z#7F5mP^!muWTXe>2)BgonDnby*A=66D-QY8WS!M=n{>raU!VbH2-Zjy$(q7nlEQOL za6DeN?BRLQ4{j|+IgahIB|X+zx%OVb^**qbWJ@eH6w9-O=XT|RkFGU3vEU=IKcj?? zp4s3W*^?V%h0*#6UHjpC!rE;S{|f7^J#asqV`Fw?XlPfn4vD8{t)mUBXm9#^(4_$*7!71ncfTL;`l;^1 zg*D4tX)BSiqK0Mye+8Z}BJZnkBMx;+GR9|X&Cg*3CyR?V#q!9`MTV8xz?hYLV$b&G z`B|Tt&2vU{&UFtq`>33j2XW-Jm5s}XW6rUYw*s}Oho8!A)!&6*qEI51g4t7n}>ehTU%pRX=@Qj?v?p#KHPn{SG zcC?SK=}owLXpKIK={R6X@&uRK#AEN3)QEYpp8Osw-Fv|2Hs$!57};x&^a4$?0MP-7 zYwS_R?-gX<)A5F5e$P7M&|{P_uBXP)v8#H81ND#Y5d za~nBGe5|uQC8i|P3$%g-x@uU8N4&Tuu19LagyWkCA>goHQ4h>0g-xC4+gj6?OZ2VW zEk8YFcrCtGe6Y6SOa81sV&xNltWnD$_tCP{W1OX>&r%LG=#d{`;B%RAS*k}~=FjS7ab32_uV8f53c;E+&g(PkJ;wbpUTba?JTH{#US?R{ zM-SlNzkly$=*ca`s=utqQv9sFRL?nay|td_pd-O3%^B^=qfc}&GRgZ5l9=KJIu;~h zg=FYGYpBnR7}==5VwQ-ZnR;KOv7fk(HD=br=HSfWcrKXqEqrv3Yt>uN1$C$uWox~o z<3{<9yl7rMquu9m-&U;Wxel*x6K-brm>zv4R!`m5Smt#;rDKO%ZWQ*K2VC!?bq2+$ zztP;DIxAx}vp-ANK9}pI_?kV-hx?c(dyMy3`B)<(Mroa1pal|vxUwT7V9D-r5z~F6 zI+#dsw02^!%NEJRw@QK^dn(}*kDoPCcKAgS+bY$Ip1gsy=C#Dpr%Uv${EVZ_mf@%d zPvuB=ndQ`MUN_!J!#lEu6Me#U?C9@ZJGaaXMy-zL5#J)o0~?9G1!F4)tP<~A`J;Yj zQNDVh53S{6?Q!@d^@w?&*0z6z8?lvHveQo+dLEV4%Om@&d*L$k49_i-c>n0sR=(?w zCp+3rYaLH9IH!JeGa*zaM! zHiOy>JBoW$9{nCw@5nlLFo3D7~#(qa|T65TY zWNTiG^PbU>#KH>_`&Fdo(X-Zn&3Cpr)oa#o+_y*c4bR>qww8XHFVMQe`}2PrKW&*2 z*3wWZ#)n#sU8=dtezksk=FVnY@xoYv(KE-d*xPTs+j^8f^={>j`XA28XyXHU{$3+p zcN*MnWN@5AWERt6Q+~vVYjDoCAKs7a^owLh#dzGudV^;$w)TU#6*Be-CUdYpqg0R1 zv3m6L#5spgB(pSKpko1&B_WR(m*^fpqWeH2`H#$5#la(IsMXHq8{IF*8o?OJDa|IV z+6B1gD`C#s)su5Hi??UK`dqmmd-m$s>bv)UVR-(C4p*~#>wLRj>M6#=bt&&?yZXv{ zo8{}MIbxsLET#98e@2@G@J8Lon+8QC)ezqhAH|P(!UUUIG3JcxRlUOZ*=AfdpXNH_ z{+^BZm3-IE60f&f%#psM_QCl*k^|Lx#KY%R{o2n|cz;Ljhu6&XBljq)zh%q%EA4g0 zY118a+{COYiqa74EOx}E9>5;Se`L;TE*?2ct+vnEa%R99%_Dy=>3!{0V+&V2>W(h! zC9`ee_4sG-dA;`3J3}lptN)%eJlp$n#i|&6WBjh%?UnRXxFRQUeTpU*G~sjg?2qRyXk!_~ zNMEz(JvJ{M)koG#W{dfw>r%~8ysPDjcR$0fubxF*v(GcwejZ%k!lX7c#`RYI-u}{A zq~E>k?}5*^QNS*}Z#3OO1LCsh0C--nP91H=l{dtDcfFU7XO2G;FK6jReefF4-e-Mf zwo+{C`SF^qIUX1LcHfzGpIbU>CN|v8KWG*edqiz0H6Lk#r6}GYkx+P1Xa4? z$1+^P+VvEXR|riXX~xj&yjr}S*tel==qvC?^!?U!+Sw@p0LIIl0C*{ zYw(d-OwC5^Qhv!^!+eBq?>>d^HKfDc5%V5d>xg;IScCm_u3fM7e0K*8P%Yu@8)HBl z(z+>Q752+Is_!dvv>*HVUGtvx9D8=}m7l$@%;I{FSJ0U^a^ZIAdd8U6`9||v@y{3s zfAn@X4(LbHpXwJMy=U@I954%d+tx79vLS0K?T6wsxISCav0R_U^?Y!V?z@`4*XuUo z#`OqKD=o~%dv28aAvJaEn|v_NsFgT;B`VXZv?7*Jp8+&mMw{T!H;;7;wd0agBXMuEZLte}){LJ$TsT9D;p@ zS>HYUFyQ;*`cFizo&Ey7$05$C$gL~uuf)o`y`HspSl#D(FOS3vL%L&Kfw5!y{rqzv z|NZy(M#;~g1^KDXp9?|uGsiykXFgZPUOcc@$me3MJdNgMW@I_~F&^J@*SESk{RMh! zfGhgXdWcF~X8raYvJ$TBH5~W3p7m3!;XeP9Z*D)c?z8XNXXKUt3W6Ou(}QCiHP=kP zt8$N+l^Rj5n>Cn)g{}zWXWevu?nn`_h|=zp>B{hl2H%%rLfc&fw4HTs@29xz7A< z%laX%CY3juTf@Dw?}t}?R{wndcl$3IvO8C@$&dWJ%l^63E^+XK{~2+Q`Iz6HRqAz5 zyLfOeGF{xbeb0WL4O_hN3w@r6!@E0ZfAKuq2F}j2f*UZ9vpqc`f3L&uoVd=6ZtLm6 z^T0yZe8jwpjGV@`^HB47oOE&A6Cd-RWi1XkZ_WpHNw<&AO%3I*z#Hx3=seA>Ut}fe f930)p>U#eN{7W%c=ko6=00000NkvXXu0mjfWI8qK literal 0 HcmV?d00001 diff --git a/Course/TestingDatabase/Program.cs b/Course/TestingDatabase/Program.cs new file mode 100644 index 0000000..cd9d0a8 --- /dev/null +++ b/Course/TestingDatabase/Program.cs @@ -0,0 +1,17 @@ +using DatabaseImplement; +using DatabaseImplement.Implements; +using Contracts.BindingModels; +using Contracts.BusinessLogicsContracts; +using Contracts.SearchModels; +using Contracts.ViewModels; +using Microsoft.EntityFrameworkCore.Query.Internal; +using DatabaseImplement.Models; +using DataModels.Models; + +DetailStorage detailStorage = new DetailStorage(); +ImplementerStorage implementationStorage = new ImplementerStorage(); +ProductionionStorage productionionStorage = new ProductionionStorage(); +ProductStorage productStorage = new ProductStorage(); + +var i = productStorage.GetFullList(); +Console.WriteLine(i); \ No newline at end of file diff --git a/Course/TestingDatabase/TestingDatabase.csproj b/Course/TestingDatabase/TestingDatabase.csproj new file mode 100644 index 0000000..a1b3a65 --- /dev/null +++ b/Course/TestingDatabase/TestingDatabase.csproj @@ -0,0 +1,16 @@ + + + + Exe + net6.0 + enable + enable + + + + + + + + +

Выбор НазваниеКоличество
Выбор НазваниеКоличество
- Удалить + Удалить
Цена + Привязка станка к изделию + Изменить изделие @Html.DisplayFor(modelItem => item.Cost) + Привязать станок + Изменить - Удалить + Удалить