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

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();
} }
@ -36,9 +36,11 @@ model)
(!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,33 +89,24 @@ 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)
return null;
foreach (var iceCream in source.IceCreams)
{
if (iceCream.Id == model.IceCreamId)
{
model.IceCreamName = iceCream.IceCreamName;
break;
}
}
return model;
}
public OrderViewModel AccessClientStorage(OrderViewModel model)
{ {
if (model == null) if (model == null)
return null; return null;
var iceCream = source.IceCreams.FirstOrDefault(x => x.Id == model.Id);
var client = source.Clients.FirstOrDefault(x => x.Id == model.Id); var client = source.Clients.FirstOrDefault(x => x.Id == model.Id);
var implementer = source.Implementers.FirstOrDefault(x => x.Id == model.ImplementerId);
if (iceCream != null)
model.IceCreamName = iceCream.IceCreamName;
if (client != null) if (client != null)
model.ClientFIO = client.ClientFIO; model.ClientFIO = client.ClientFIO;
if (implementer != null)
model.ImplementerFIO = implementer.ImplementerFIO;
return model; 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;
} }
@ -35,10 +35,13 @@ namespace IceCreamShopListImplement.Implements
{ {
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,24 +107,19 @@ namespace IceCreamShopListImplement.Implements
return null; return null;
} }
public OrderViewModel AccessIceCreamStorage(OrderViewModel model) public OrderViewModel AccessStorage(OrderViewModel model)
{
foreach (var iceCream in _source.IceCreams)
{
if (iceCream.Id == model.IceCreamId)
{ {
if (model == null)
return null;
var iceCream = _source.IceCreams.FirstOrDefault(x => x.Id == model.Id);
var client = _source.Clients.FirstOrDefault(x => x.Id == model.Id);
var implementer = _source.Implementers.FirstOrDefault(x => x.Id == model.ImplementerId);
if (iceCream != null)
model.IceCreamName = iceCream.IceCreamName; model.IceCreamName = iceCream.IceCreamName;
break;
}
}
return model;
}
public OrderViewModel AccessClientStorage(OrderViewModel model)
{
var client = _source.Clients.FirstOrDefault(x => x.Id == model.ClientId);
if (client != null) if (client != null)
model.ClientFIO = client.ClientFIO; model.ClientFIO = client.ClientFIO;
if (implementer != null)
model.ImplementerFIO = implementer.ImplementerFIO;
return model; return model;
} }