Доделал хранилища

This commit is contained in:
gg12 darfren 2024-04-15 18:46:15 +04:00
parent 68efc94156
commit c900b5e586
2 changed files with 59 additions and 63 deletions

View File

@ -22,7 +22,7 @@ namespace IceCreamShopFileImplement.Implements
public List<OrderViewModel> GetFullList() public List<OrderViewModel> GetFullList()
{ {
return source.Orders return source.Orders
.Select(x => AccessIceCreamStorage(x.GetViewModel)) .Select(x => AccessStorage(x.GetViewModel))
.ToList(); .ToList();
} }
@ -30,15 +30,17 @@ namespace IceCreamShopFileImplement.Implements
model) model)
{ {
return source.Orders return source.Orders
.Where(x => ( .Where(x => (
(!model.Id.HasValue || x.Id == model.Id) && (!model.Id.HasValue || x.Id == model.Id) &&
(!model.DateFrom.HasValue || x.DateCreate >= model.DateFrom) && (!model.DateFrom.HasValue || x.DateCreate >= model.DateFrom) &&
(!model.DateTo.HasValue || x.DateCreate <= model.DateTo) (!model.DateTo.HasValue || x.DateCreate <= model.DateTo)
&& &&
(!model.ClientId.HasValue || x.ClientId == model.ClientId) (!model.ClientId.HasValue || x.ClientId == model.ClientId)
) &&
) (!model.Status.HasValue || x.Status == model.Status)
.Select(x => AccessIceCreamStorage(x.GetViewModel)) )
)
.Select(x => AccessStorage(x.GetViewModel))
.ToList(); .ToList();
} }
@ -48,8 +50,11 @@ model)
{ {
return null; return null;
} }
return AccessIceCreamStorage(source.Orders return AccessStorage(source.Orders
.FirstOrDefault(x => (model.Id.HasValue && x.Id == model.Id))?.GetViewModel); .FirstOrDefault(
x => ((model.Id.HasValue && x.Id == model.Id) ||
(model.ImplementerId.HasValue && model.Status.HasValue &&
x.ImplementerId == model.ImplementerId && x.Status == model.Status)))?.GetViewModel);
} }
public OrderViewModel? Insert(OrderBindingModel model) public OrderViewModel? Insert(OrderBindingModel model)
@ -62,7 +67,7 @@ model)
} }
source.Orders.Add(newOrder); source.Orders.Add(newOrder);
source.SaveOrders(); source.SaveOrders();
return AccessIceCreamStorage(newOrder.GetViewModel); return AccessStorage(newOrder.GetViewModel);
} }
public OrderViewModel? Update(OrderBindingModel model) public OrderViewModel? Update(OrderBindingModel model)
@ -74,7 +79,7 @@ model)
} }
order.Update(model); order.Update(model);
source.SaveOrders(); source.SaveOrders();
return AccessIceCreamStorage(order.GetViewModel); return AccessStorage(order.GetViewModel);
} }
public OrderViewModel? Delete(OrderBindingModel model) public OrderViewModel? Delete(OrderBindingModel model)
{ {
@ -84,34 +89,25 @@ model)
{ {
source.Orders.Remove(element); source.Orders.Remove(element);
source.SaveOrders(); source.SaveOrders();
return AccessIceCreamStorage(element.GetViewModel); return AccessStorage(element.GetViewModel);
} }
return null; return null;
} }
public OrderViewModel AccessIceCreamStorage(OrderViewModel model) public OrderViewModel AccessStorage(OrderViewModel model)
{ {
if (model == null) if (model == null)
return null; return null;
foreach (var iceCream in source.IceCreams) var iceCream = source.IceCreams.FirstOrDefault(x => x.Id == model.Id);
{ var client = source.Clients.FirstOrDefault(x => x.Id == model.Id);
if (iceCream.Id == model.IceCreamId) var implementer = source.Implementers.FirstOrDefault(x => x.Id == model.ImplementerId);
{ if (iceCream != null)
model.IceCreamName = iceCream.IceCreamName; model.IceCreamName = iceCream.IceCreamName;
break; if (client != null)
} model.ClientFIO = client.ClientFIO;
} if (implementer != null)
return model; model.ImplementerFIO = implementer.ImplementerFIO;
} return model;
public OrderViewModel AccessClientStorage(OrderViewModel model)
{
if (model == null)
return null;
var client = source.Clients.FirstOrDefault(x => x.Id == model.Id);
if (client != null)
model.ClientFIO = client.ClientFIO;
return model;
} }
} }
} }

View File

@ -23,7 +23,7 @@ namespace IceCreamShopListImplement.Implements
var result = new List<OrderViewModel>(); var result = new List<OrderViewModel>();
foreach (var order in _source.Orders) foreach (var order in _source.Orders)
{ {
result.Add(AccessIceCreamStorage(order.GetViewModel)); result.Add(AccessStorage(order.GetViewModel));
} }
return result; return result;
} }
@ -34,11 +34,14 @@ namespace IceCreamShopListImplement.Implements
foreach (var order in _source.Orders) foreach (var order in _source.Orders)
{ {
if ((!model.Id.HasValue || order.Id == model.Id) && if ((!model.Id.HasValue || order.Id == model.Id) &&
(!model.DateFrom.HasValue || order.DateCreate >= model.DateFrom) && (!model.DateFrom.HasValue || order.DateCreate >= model.DateFrom) &&
(!model.DateTo.HasValue || order.DateCreate <= model.DateTo) && (!model.DateTo.HasValue || order.DateCreate <= model.DateTo)
(!model.ClientId.HasValue || order.ClientId == model.ClientId)) ; &&
(!model.ClientId.HasValue || order.ClientId == model.ClientId)
&&
(!model.Status.HasValue || order.Status == model.Status)) ;
{ {
result.Add(AccessIceCreamStorage(order.GetViewModel)); result.Add(AccessStorage(order.GetViewModel));
} }
} }
return result; return result;
@ -51,9 +54,11 @@ namespace IceCreamShopListImplement.Implements
} }
foreach (var order in _source.Orders) foreach (var order in _source.Orders)
{ {
if (model.Id.HasValue && order.Id == model.Id) if ((model.Id.HasValue && order.Id == model.Id) ||
(model.ImplementerId.HasValue && model.Status.HasValue &&
order.ImplementerId == model.ImplementerId && order.Status == model.Status))
{ {
return order.GetViewModel; return AccessStorage(order.GetViewModel);
} }
} }
return null; return null;
@ -102,28 +107,23 @@ namespace IceCreamShopListImplement.Implements
return null; return null;
} }
public OrderViewModel AccessIceCreamStorage(OrderViewModel model) public OrderViewModel AccessStorage(OrderViewModel model)
{ {
foreach (var iceCream in _source.IceCreams) if (model == null)
{ return null;
if (iceCream.Id == model.IceCreamId) var iceCream = _source.IceCreams.FirstOrDefault(x => x.Id == model.Id);
{ var client = _source.Clients.FirstOrDefault(x => x.Id == model.Id);
model.IceCreamName = iceCream.IceCreamName; var implementer = _source.Implementers.FirstOrDefault(x => x.Id == model.ImplementerId);
break; if (iceCream != null)
} model.IceCreamName = iceCream.IceCreamName;
} if (client != null)
return model; model.ClientFIO = client.ClientFIO;
} if (implementer != null)
model.ImplementerFIO = implementer.ImplementerFIO;
public OrderViewModel AccessClientStorage(OrderViewModel model) return model;
{ }
var client = _source.Clients.FirstOrDefault(x => x.Id == model.ClientId);
if (client != null)
model.ClientFIO = client.ClientFIO;
return model;
}
} }
} }