From 8203d2284974dc556cfb54c69f284005a7200e0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=BE=D0=BB=D0=B0=D0=B9?= Date: Sun, 2 Apr 2023 16:10:21 +0400 Subject: [PATCH] fix --- .../BindingModels/PurchaseBindingModel.cs | 1 - .../SearchModels/BuildSearchModel.cs | 2 ++ .../Implements/Worker/BuildStorage.cs | 2 +- .../Implements/Worker/CommentStorage.cs | 13 ++++++------- .../Models/Worker/Build.cs | 14 +++++--------- .../Models/Worker/Purchase.cs | 1 + 6 files changed, 15 insertions(+), 18 deletions(-) diff --git a/HardwareShop/HardwareShopContracts/BindingModels/PurchaseBindingModel.cs b/HardwareShop/HardwareShopContracts/BindingModels/PurchaseBindingModel.cs index 20c3b84..ccaaf61 100644 --- a/HardwareShop/HardwareShopContracts/BindingModels/PurchaseBindingModel.cs +++ b/HardwareShop/HardwareShopContracts/BindingModels/PurchaseBindingModel.cs @@ -15,7 +15,6 @@ namespace HardwareShopContracts.BindingModels public int UserId { get; set; } - public Dictionary PurchaseGoods { get; set; } = new(); } } diff --git a/HardwareShop/HardwareShopContracts/SearchModels/BuildSearchModel.cs b/HardwareShop/HardwareShopContracts/SearchModels/BuildSearchModel.cs index 3d5caee..19cb465 100644 --- a/HardwareShop/HardwareShopContracts/SearchModels/BuildSearchModel.cs +++ b/HardwareShop/HardwareShopContracts/SearchModels/BuildSearchModel.cs @@ -8,5 +8,7 @@ namespace HardwareShopContracts.SearchModels public string? BuildName { get; set; } = string.Empty; public int? UserId { get; set; } + + public int? PurchaseId { get; set; } } } diff --git a/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/BuildStorage.cs b/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/BuildStorage.cs index 85941df..8b8c068 100644 --- a/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/BuildStorage.cs +++ b/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/BuildStorage.cs @@ -61,7 +61,7 @@ namespace HardwareShopDatabaseImplement.Implements.Worker public BuildViewModel? Insert(BuildBindingModel model) { using var context = new HardwareShopDatabase(); - var newBuild = Build.Create(context, model); + var newBuild = Build.Create(model); if (newBuild == null) { return null; diff --git a/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/CommentStorage.cs b/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/CommentStorage.cs index 63dcaa6..9812184 100644 --- a/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/CommentStorage.cs +++ b/HardwareShop/HardwareShopDatabaseImplement/Implements/Worker/CommentStorage.cs @@ -21,7 +21,7 @@ namespace HardwareShopDatabaseImplement.Implements.Worker public List GetFilteredList(CommentSearchModel model) { - if (!model.Id.HasValue) + if (!model.BuildId.HasValue && !model.UserId.HasValue) { return new(); } @@ -35,13 +35,12 @@ namespace HardwareShopDatabaseImplement.Implements.Worker .Select(x => x.GetViewModel) .ToList(); } - return context.Comments - .Include(x => x.Build) - .Include(x => x.User) - .Where(x => x.BuildId == model.BuildId) - .Select(x => x.GetViewModel) - .ToList(); + .Include(x => x.Build) + .Include(x => x.User) + .Where(x => x.BuildId == model.BuildId) + .Select(x => x.GetViewModel) + .ToList(); } public CommentViewModel? GetElement(CommentSearchModel model) diff --git a/HardwareShop/HardwareShopDatabaseImplement/Models/Worker/Build.cs b/HardwareShop/HardwareShopDatabaseImplement/Models/Worker/Build.cs index 0f34f20..c3765eb 100644 --- a/HardwareShop/HardwareShopDatabaseImplement/Models/Worker/Build.cs +++ b/HardwareShop/HardwareShopDatabaseImplement/Models/Worker/Build.cs @@ -47,18 +47,13 @@ namespace HardwareShopDatabaseImplement.Models.Worker } } - public static Build Create(HardwareShopDatabase context, BuildBindingModel model) + public static Build Create(BuildBindingModel model) { return new Build() { Id = model.Id, BuildName = model.BuildName, UserId = model.UserId, - Purchases = model.BuildPurchases.Select(x => new PurchaseBuild - { - Purchase = context.Purchases.First(y => y.Id == x.Key), - Count = x.Value.Item2 - }).ToList() }; } @@ -75,6 +70,7 @@ namespace HardwareShopDatabaseImplement.Models.Worker Price = Price, UserLogin = User.Login, UserId = UserId, + BuildPurchases = BuildPurchases, }; public void UpdatePurchases(HardwareShopDatabase context, BuildBindingModel model) @@ -94,13 +90,13 @@ namespace HardwareShopDatabaseImplement.Models.Worker } var build = context.Builds.First(x => x.Id == Id); //добавляем в бд блюда которые есть в моделе, но ещё нет в бд - foreach (var dc in model.BuildPurchases) + foreach (var bp in model.BuildPurchases) { context.PurchasesBuilds.Add(new PurchaseBuild { Build = build, - Purchase = context.Purchases.First(x => x.Id == dc.Key), - Count = dc.Value.Item2 + Purchase = context.Purchases.First(x => x.Id == bp.Key), + Count = bp.Value.Item2 }); context.SaveChanges(); } diff --git a/HardwareShop/HardwareShopDatabaseImplement/Models/Worker/Purchase.cs b/HardwareShop/HardwareShopDatabaseImplement/Models/Worker/Purchase.cs index efa33cc..35a163f 100644 --- a/HardwareShop/HardwareShopDatabaseImplement/Models/Worker/Purchase.cs +++ b/HardwareShop/HardwareShopDatabaseImplement/Models/Worker/Purchase.cs @@ -68,6 +68,7 @@ namespace HardwareShopDatabaseImplement.Models.Worker { PurchaseStatus = model.PurchaseStatus; DatePurchase = model.DatePurchase; + Sum = model.Sum; } public PurchaseViewModel GetViewModel => new()