vrode vse
This commit is contained in:
parent
f6be017910
commit
9e7b7de847
@ -3,6 +3,7 @@ using SushiBarContracts.SearchModels;
|
||||
using SushiBarContracts.StoragesContracts;
|
||||
using SushiBarContracts.ViewModels;
|
||||
using SushiBarFileImplement.Models;
|
||||
using System.Linq;
|
||||
|
||||
namespace SushiBarFileImplement.Implements
|
||||
{
|
||||
@ -21,17 +22,22 @@ namespace SushiBarFileImplement.Implements
|
||||
|
||||
public List<OrderViewModel> GetFilteredList(OrderSearchModel model)
|
||||
{
|
||||
if (model.DateFrom.HasValue)
|
||||
if (model.DateFrom.HasValue && model.DateTo.HasValue)
|
||||
return source.Orders
|
||||
.Where(x => x.DateCreate >= model.DateFrom && x.DateCreate <= model.DateTo)
|
||||
.Select(x => GetViewModel(x))
|
||||
.ToList();
|
||||
if (model.ClientId.HasValue && !model.Id.HasValue)
|
||||
else if (model.ClientId.HasValue && !model.Id.HasValue)
|
||||
return source.Orders
|
||||
.Where(x => x.ClientId == model.ClientId)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
if (model.Id.HasValue)
|
||||
else if (model.OrderStatus.HasValue)
|
||||
return source.Orders
|
||||
.Where(x => x.Status == model.OrderStatus)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
else if (model.Id.HasValue)
|
||||
return source.Orders
|
||||
.Where(x => x.Id.Equals(model.Id))
|
||||
.Select(x => GetViewModel(x))
|
||||
@ -41,14 +47,25 @@ namespace SushiBarFileImplement.Implements
|
||||
|
||||
public OrderViewModel? GetElement(OrderSearchModel model)
|
||||
{
|
||||
if (!model.Id.HasValue)
|
||||
if (model.Id.HasValue)
|
||||
{
|
||||
return null;
|
||||
return source.Orders.FirstOrDefault(x => x.Id == model.Id)?.GetViewModel;
|
||||
}
|
||||
|
||||
return source.Orders.FirstOrDefault(x =>
|
||||
(model.Id.HasValue && x.Id == model.Id))?.GetViewModel;
|
||||
else if (model.ImplementerId.HasValue && model.OrderStatus.HasValue)
|
||||
{
|
||||
return source.Orders
|
||||
.FirstOrDefault(x => x.ImplementerId == model.ImplementerId && x.Status == model.OrderStatus)
|
||||
?.GetViewModel;
|
||||
}
|
||||
else if (model.ImplementerId.HasValue)
|
||||
{
|
||||
return source.Orders
|
||||
.FirstOrDefault(x => x.ImplementerId == model.ImplementerId)
|
||||
?.GetViewModel;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private OrderViewModel GetViewModel(Order order)
|
||||
{
|
||||
var viewModel = order.GetViewModel;
|
||||
@ -57,13 +74,18 @@ namespace SushiBarFileImplement.Implements
|
||||
.ListSushi.FirstOrDefault(x => x.Id == order.SushiId);
|
||||
var client = source
|
||||
.Clients.FirstOrDefault(x => x.Id == order.ClientId);
|
||||
var implementer = source
|
||||
.Implementers.FirstOrDefault(x => x.Id == order.ImplementerId);
|
||||
|
||||
if (sushi != null)
|
||||
viewModel.SushiName = sushi.SushiName;
|
||||
if (client != null)
|
||||
viewModel.ClientFIO = client.ClientFIO;
|
||||
if (implementer != null)
|
||||
viewModel.ImplementerFIO = implementer.ImplementerFIO;
|
||||
return viewModel;
|
||||
}
|
||||
|
||||
public OrderViewModel? Insert(OrderBindingModel model)
|
||||
{
|
||||
model.Id = source.Orders.Count > 0 ? source.Orders.Max(x => x.Id) + 1 : 1;
|
||||
|
@ -10,6 +10,7 @@ namespace SushiBarFileImplement.Models
|
||||
{
|
||||
public int Id { get; private set; }
|
||||
public int ClientId { get; private set; }
|
||||
public int? ImplementerId { get; private set; }
|
||||
public int SushiId { get; private set; }
|
||||
public int Count { get; private set; }
|
||||
public double Sum { get; private set; }
|
||||
@ -27,6 +28,7 @@ namespace SushiBarFileImplement.Models
|
||||
Id = model.Id,
|
||||
SushiId = model.SushiId,
|
||||
ClientId = model.ClientId,
|
||||
ImplementerId = model.ImplementerId,
|
||||
Count = model.Count,
|
||||
Sum = model.Sum,
|
||||
Status = model.Status,
|
||||
@ -46,6 +48,7 @@ namespace SushiBarFileImplement.Models
|
||||
Id = Convert.ToInt32(element.Attribute("Id")!.Value),
|
||||
SushiId = Convert.ToInt32(element.Element("SushiId")!.Value),
|
||||
ClientId = Convert.ToInt32(element.Element("ClientId")!.Value),
|
||||
ImplementerId = Convert.ToInt32(element.Element("ImplementerId")!.Value),
|
||||
Sum = Convert.ToDouble(element.Element("Sum")!.Value),
|
||||
Count = Convert.ToInt32(element.Element("Count")!.Value),
|
||||
Status = (OrderStatus)Enum.Parse(typeof(OrderStatus), element.Element("Status")!.Value),
|
||||
@ -62,12 +65,14 @@ namespace SushiBarFileImplement.Models
|
||||
}
|
||||
Status = model.Status;
|
||||
DateImplement = model.DateImplement;
|
||||
ImplementerId = model.ImplementerId;
|
||||
}
|
||||
|
||||
public OrderViewModel GetViewModel => new()
|
||||
{
|
||||
SushiId = SushiId,
|
||||
ClientId = ClientId,
|
||||
ImplementerId = ImplementerId,
|
||||
Count = Count,
|
||||
Sum = Sum,
|
||||
DateCreate = DateCreate,
|
||||
@ -80,6 +85,7 @@ namespace SushiBarFileImplement.Models
|
||||
new XAttribute("Id", Id),
|
||||
new XElement("SushiId", SushiId),
|
||||
new XElement("ClientId", ClientId),
|
||||
new XElement("ImplementerId", ImplementerId),
|
||||
new XElement("Count", Count.ToString()),
|
||||
new XElement("Sum", Sum.ToString()),
|
||||
new XElement("Status", Status.ToString()),
|
||||
|
@ -15,6 +15,7 @@ namespace SushiBarListImplement.Models
|
||||
public int WorkExperience { get; private set; }
|
||||
|
||||
public int Qualification { get; private set; }
|
||||
|
||||
public static Implementer? Create(ImplementerBindingModel? model)
|
||||
{
|
||||
if (model == null)
|
||||
|
Loading…
Reference in New Issue
Block a user