public IEnumerable <OrderSM> GetOrders(SessionSM session) { if (session == null) { throw new ArgumentNullException(nameof(session)); } var orders = _dbContext.Orders.Include(x => x.OrderProducts).ThenInclude(x => x.Product) .Where(x => x.Session.Id == session.Id) .ToList(); var orderSms = orders.Select(x => { var orderProductSms = x.OrderProducts.Select(x => { var orderProductSm = _mapper.Map <OrderProductSM>(x); orderProductSm.Product = _mapper.Map <ProductSM>(x.Product); return(orderProductSm); }).ToList(); return(new OrderSM(session, orderProductSms) { Id = x.Id, DateTime = x.DateTime }); }); return(orderSms); }
public Task <OrderSM> CreateOrderAsync(SessionSM session) { return(Task.FromResult(OrderFactory.GetEmptyOrder(session))); }
public static OrderSM GetEmptyOrder(SessionSM session) => new(session)