diff --git a/SushiBar/SushiBarContracts/SearchModels/OrderSearchModel.cs b/SushiBar/SushiBarContracts/SearchModels/OrderSearchModel.cs index bab174d..862e85f 100644 --- a/SushiBar/SushiBarContracts/SearchModels/OrderSearchModel.cs +++ b/SushiBar/SushiBarContracts/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/SushiBar/SushiBarContracts/StoragesContracts/IOrderStorage.cs b/SushiBar/SushiBarContracts/StoragesContracts/IOrderStorage.cs index f337dbf..aad76cf 100644 --- a/SushiBar/SushiBarContracts/StoragesContracts/IOrderStorage.cs +++ b/SushiBar/SushiBarContracts/StoragesContracts/IOrderStorage.cs @@ -7,7 +7,7 @@ namespace SushiBarContracts.StoragesContracts public interface IOrderStorage { List GetFullList(); - List GetFilteredList(OrderSearchModel model); + List GetFilteredList(OrderSearchModel? model); OrderViewModel? GetElement(OrderSearchModel model); OrderViewModel? Insert(OrderBindingModel model); OrderViewModel? Update(OrderBindingModel model); diff --git a/SushiBar/SushiBarDatabaseImplement/Implements/OrderStorage.cs b/SushiBar/SushiBarDatabaseImplement/Implements/OrderStorage.cs index 50fd5ba..aef6f79 100644 --- a/SushiBar/SushiBarDatabaseImplement/Implements/OrderStorage.cs +++ b/SushiBar/SushiBarDatabaseImplement/Implements/OrderStorage.cs @@ -14,15 +14,12 @@ namespace SushiBarDatabaseImplement.Implements var element = context.Orders.FirstOrDefault(rec => rec.Id == model.Id); - if (element != null) - { - context.Orders.Remove(element); - context.SaveChanges(); + if (element == null) return null; + context.Orders.Remove(element); + context.SaveChanges(); - return element.GetViewModel; - } + return element.GetViewModel; - return null; } public OrderViewModel? GetElement(OrderSearchModel model) @@ -39,10 +36,10 @@ namespace SushiBarDatabaseImplement.Implements ?.GetViewModel; } - public List GetFilteredList(OrderSearchModel model) + public List GetFilteredList(OrderSearchModel? model) { if (model is null) - return new(); + return new List(); using var context = new SushiBarDatabase(); if (!model.Id.HasValue) @@ -53,6 +50,14 @@ namespace SushiBarDatabaseImplement.Implements .ToList(); } + if (!model.ClientId.HasValue) + { + return context.Orders + .Where(x => x.ClientId == model.ClientId) + .Select(x => x.GetViewModel) + .ToList(); + } + return context.Orders .Where(x => x.Id == model.Id) diff --git a/SushiBar/SushiBarFileImplement/Implements/OrderStorage.cs b/SushiBar/SushiBarFileImplement/Implements/OrderStorage.cs index 03f5983..a4a88a0 100644 --- a/SushiBar/SushiBarFileImplement/Implements/OrderStorage.cs +++ b/SushiBar/SushiBarFileImplement/Implements/OrderStorage.cs @@ -38,7 +38,7 @@ namespace SushiBarFileImplement.Implements ?.GetViewModel; } - public List GetFilteredList(OrderSearchModel model) + public List GetFilteredList(OrderSearchModel? model) { if (!model.Id.HasValue) { diff --git a/SushiBar/SushibarListImplement/Implements/OrderStorage.cs b/SushiBar/SushibarListImplement/Implements/OrderStorage.cs index 63759ca..92cf546 100644 --- a/SushiBar/SushibarListImplement/Implements/OrderStorage.cs +++ b/SushiBar/SushibarListImplement/Implements/OrderStorage.cs @@ -44,7 +44,7 @@ namespace SushibarListImplement.Implements return null; } - public List GetFilteredList(OrderSearchModel model) + public List GetFilteredList(OrderSearchModel? model) { List list = new(); if (!model.Id.HasValue || model.Id == 0)