StorageBack

This commit is contained in:
Sergey Kozyrev 2024-04-02 19:16:26 +04:00
parent 0921baf251
commit 1e6cecef58

View File

@ -11,21 +11,16 @@ namespace SewingDressesDatabaseImplement.Implements
public List<OrderViewModel?> GetFullList() public List<OrderViewModel?> GetFullList()
{ {
using var context = new SewingDressesDatabase(); 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<OrderViewModel?> GetFilteredList(OrderSearchModel model) public List<OrderViewModel?> GetFilteredList(OrderSearchModel model)
{ {
if (!model.Id.HasValue)
if (!model.Id.HasValue && !model.DateFrom.HasValue && !model.DateTo.HasValue)
{ {
return new(); return new();
} }
using var context = new SewingDressesDatabase(); using var context = new SewingDressesDatabase();
if (model.Id.HasValue) return context.Orders.Where(x => x.Id == model.Id).Select(x => AcessDressesStorage(x.GetViewModel, context)).ToList();
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();
} }
public OrderViewModel? GetElement(OrderSearchModel model) public OrderViewModel? GetElement(OrderSearchModel model)
{ {
@ -34,7 +29,7 @@ namespace SewingDressesDatabaseImplement.Implements
return null; return null;
} }
using var context = new SewingDressesDatabase(); 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) public OrderViewModel? Insert(OrderBindingModel model)
{ {
@ -46,12 +41,12 @@ namespace SewingDressesDatabaseImplement.Implements
using var context = new SewingDressesDatabase(); using var context = new SewingDressesDatabase();
context.Orders.Add(order); context.Orders.Add(order);
context.SaveChanges(); context.SaveChanges();
return AcessDressesStorage(order.GetViewModel); return AcessDressesStorage(order.GetViewModel, context);
} }
public OrderViewModel? Update(OrderBindingModel model) public OrderViewModel? Update(OrderBindingModel model)
{ {
using var context = new SewingDressesDatabase(); using var context = new SewingDressesDatabase();
var order = context.Orders.FirstOrDefault(x => x.Id == model.Id); var order = context.Orders.FirstOrDefault(x => x.Id == model.Id);
if (order == null) if (order == null)
@ -60,7 +55,7 @@ namespace SewingDressesDatabaseImplement.Implements
} }
order.Update(model); order.Update(model);
context.SaveChanges(); context.SaveChanges();
return AcessDressesStorage(order.GetViewModel); return AcessDressesStorage(order.GetViewModel, context);
} }
public OrderViewModel? Delete(OrderBindingModel model) public OrderViewModel? Delete(OrderBindingModel model)
@ -73,25 +68,22 @@ namespace SewingDressesDatabaseImplement.Implements
} }
context.Orders.Remove(element); context.Orders.Remove(element);
context.SaveChanges(); 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) if (model == null)
{ {
return null; return null;
} }
using var context = new SewingDressesDatabase(); var dress = context.Dresses.FirstOrDefault(x => x.Id == model.DressId);
foreach(var dress in context.Dresses) if (dress == null)
{ {
if (dress.Id == model.DressId) return null;
{
model.DressName = dress.DressName;
break;
}
} }
model.DressName = dress.DressName;
return model; return model;
} }
} }
} }