From 2bff37f1170e34260093683e27967d5477d44ebc Mon Sep 17 00:00:00 2001 From: "ns.potapov" Date: Sat, 6 Apr 2024 23:41:33 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BE=20=D0=B2=D0=B7=D0=B0=D0=B8=D0=BC=D0=BE?= =?UTF-8?q?=D0=B4=D0=B5=D0=B9=D1=81=D1=82=D0=B2=D0=B8=D0=B5=20=D1=81=20?= =?UTF-8?q?=D1=81=D1=83=D1=89=D0=BD=D0=BE=D1=81=D1=82=D1=8C=D1=8E=20=D0=BA?= =?UTF-8?q?=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0=20=D0=B2=20=D1=81=D1=83?= =?UTF-8?q?=D1=89=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20=D0=B7=D0=B0=D0=BA=D0=B0?= =?UTF-8?q?=D0=B7=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SearchModels/OrderSearchModel.cs | 1 + .../ViewModels/OrderViewModel.cs | 2 +- .../Implements/OrderStorage.cs | 13 +++++++++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/SecuritySystem/SecuritySystemContracts/SearchModels/OrderSearchModel.cs b/SecuritySystem/SecuritySystemContracts/SearchModels/OrderSearchModel.cs index d9747e7..143abf9 100644 --- a/SecuritySystem/SecuritySystemContracts/SearchModels/OrderSearchModel.cs +++ b/SecuritySystem/SecuritySystemContracts/SearchModels/OrderSearchModel.cs @@ -5,5 +5,6 @@ public int? Id { get; set; } public DateTime? DateFrom { get; set; } public DateTime? DateTo { get; set; } + public int? ClientId { get; set; } } } diff --git a/SecuritySystem/SecuritySystemContracts/ViewModels/OrderViewModel.cs b/SecuritySystem/SecuritySystemContracts/ViewModels/OrderViewModel.cs index 70dbb0a..66b9796 100644 --- a/SecuritySystem/SecuritySystemContracts/ViewModels/OrderViewModel.cs +++ b/SecuritySystem/SecuritySystemContracts/ViewModels/OrderViewModel.cs @@ -11,7 +11,7 @@ namespace SecuritySystemContracts.ViewModels public int ClientId { get; set; } public int SecureId { get; set; } [DisplayName("ФИО клиента")] - public string ClientFIO { get; set; } + public string ClientFIO { get; set; } = string.Empty; [DisplayName("Изделие")] public string SecureName { get; set; } = string.Empty; [DisplayName("Количество")] diff --git a/SecuritySystem/SecuritySystemDatabaseImplement/Implements/OrderStorage.cs b/SecuritySystem/SecuritySystemDatabaseImplement/Implements/OrderStorage.cs index 347042f..f371691 100644 --- a/SecuritySystem/SecuritySystemDatabaseImplement/Implements/OrderStorage.cs +++ b/SecuritySystem/SecuritySystemDatabaseImplement/Implements/OrderStorage.cs @@ -16,7 +16,7 @@ namespace SecuritySystemDatabaseImplement.Implements return null; } using var context = new SecuritySystemDatabase(); - return context.Orders.Include(x => x.Secure).FirstOrDefault(x => (model.Id.HasValue && x.Id == model.Id))?.GetViewModel; + return context.Orders.Include(x => x.Secure).Include(x => x.Client).FirstOrDefault(x => (model.Id.HasValue && x.Id == model.Id))?.GetViewModel; } public List GetFilteredList(OrderSearchModel model) @@ -24,6 +24,7 @@ namespace SecuritySystemDatabaseImplement.Implements using var context = new SecuritySystemDatabase(); var orders = context.Orders .Include(x => x.Secure) + .Include(x => x.Client) .Select(x => x.GetViewModel) .ToList(); if (model.Id.HasValue) @@ -38,13 +39,17 @@ namespace SecuritySystemDatabaseImplement.Implements { orders = orders.Where(x => x.DateCreate <= model.DateTo.Value).ToList(); } + if (model.ClientId.HasValue) + { + orders = orders.Where(x => x.ClientId == model.ClientId.Value).ToList(); + } return orders; } public List GetFullList() { using var context = new SecuritySystemDatabase(); - return context.Orders.Include(x => x.Secure).Select(x => x.GetViewModel).ToList(); + return context.Orders.Include(x => x.Secure).Include(x => x.Client).Select(x => x.GetViewModel).ToList(); } public OrderViewModel? Insert(OrderBindingModel model) @@ -57,7 +62,7 @@ namespace SecuritySystemDatabaseImplement.Implements using var context = new SecuritySystemDatabase(); context.Orders.Add(newOrder); context.SaveChanges(); - return context.Orders.Include(x => x.Secure).FirstOrDefault(x => x.Id == newOrder.Id)?.GetViewModel; + return context.Orders.Include(x => x.Secure).Include(x => x.Client).FirstOrDefault(x => x.Id == newOrder.Id)?.GetViewModel; } public OrderViewModel? Update(OrderBindingModel model) @@ -70,7 +75,7 @@ namespace SecuritySystemDatabaseImplement.Implements } order.Update(model); context.SaveChanges(); - return context.Orders.Include(x => x.Secure).FirstOrDefault(x => x.Id == model.Id)?.GetViewModel; + return context.Orders.Include(x => x.Secure).Include(x => x.Client).FirstOrDefault(x => x.Id == model.Id)?.GetViewModel; } public OrderViewModel? Delete(OrderBindingModel model) {