diff --git a/SewingDresses/SewingDressesDatabaseImplement/Implements/OrderStorage.cs b/SewingDresses/SewingDressesDatabaseImplement/Implements/OrderStorage.cs index 9e9f4d7..b482b0e 100644 --- a/SewingDresses/SewingDressesDatabaseImplement/Implements/OrderStorage.cs +++ b/SewingDresses/SewingDressesDatabaseImplement/Implements/OrderStorage.cs @@ -11,21 +11,16 @@ namespace SewingDressesDatabaseImplement.Implements public List GetFullList() { using var context = new SewingDressesDatabase(); - return context.Orders.Select(x => AcessDressesStorage(x.GetViewModel)).ToList(); + return context.Orders.Select(x => AcessDressesStorage(x.GetViewModel, context)).ToList(); } public List GetFilteredList(OrderSearchModel model) { - - if (!model.Id.HasValue && !model.DateFrom.HasValue && !model.DateTo.HasValue) + if (!model.Id.HasValue) { return new(); } using var context = new SewingDressesDatabase(); - if (model.Id.HasValue) - return context.Orders.Where(x => x.Id == model.Id).Select(x => AcessDressesStorage(x.GetViewModel)).ToList(); - else - return context.Orders.Where(x => x.DateCreate >= model.DateFrom).Where(x => x.DateCreate <= model.DateTo).Select(x => AcessDressesStorage(x.GetViewModel)).ToList(); - + return context.Orders.Where(x => x.Id == model.Id).Select(x => AcessDressesStorage(x.GetViewModel, context)).ToList(); } public OrderViewModel? GetElement(OrderSearchModel model) { @@ -34,7 +29,7 @@ namespace SewingDressesDatabaseImplement.Implements return null; } using var context = new SewingDressesDatabase(); - return AcessDressesStorage(context.Orders.FirstOrDefault(x => x.Id == model.Id)?.GetViewModel); + return AcessDressesStorage(context.Orders.FirstOrDefault(x => x.Id == model.Id)?.GetViewModel, context); } public OrderViewModel? Insert(OrderBindingModel model) { @@ -46,12 +41,12 @@ namespace SewingDressesDatabaseImplement.Implements using var context = new SewingDressesDatabase(); context.Orders.Add(order); context.SaveChanges(); - return AcessDressesStorage(order.GetViewModel); + return AcessDressesStorage(order.GetViewModel, context); } public OrderViewModel? Update(OrderBindingModel model) { - + using var context = new SewingDressesDatabase(); var order = context.Orders.FirstOrDefault(x => x.Id == model.Id); if (order == null) @@ -60,7 +55,7 @@ namespace SewingDressesDatabaseImplement.Implements } order.Update(model); context.SaveChanges(); - return AcessDressesStorage(order.GetViewModel); + return AcessDressesStorage(order.GetViewModel, context); } public OrderViewModel? Delete(OrderBindingModel model) @@ -73,25 +68,22 @@ namespace SewingDressesDatabaseImplement.Implements } context.Orders.Remove(element); context.SaveChanges(); - return AcessDressesStorage(element.GetViewModel); + return AcessDressesStorage(element.GetViewModel, context); } - public static OrderViewModel? AcessDressesStorage(OrderViewModel? model) + public static OrderViewModel? AcessDressesStorage(OrderViewModel? model, SewingDressesDatabase context) { if (model == null) { return null; } - using var context = new SewingDressesDatabase(); - foreach(var dress in context.Dresses) + var dress = context.Dresses.FirstOrDefault(x => x.Id == model.DressId); + if (dress == null) { - if (dress.Id == model.DressId) - { - model.DressName = dress.DressName; - break; - } + return null; } + model.DressName = dress.DressName; return model; } - + } }