public OperationResultValue <List <ServiceDataContracts.OrderToGo> > GetOrderToGoList(OrderToGoFilter filter, PageInfo page) { return(orderToGoService.GetOrderToGoList(filter, page)); }
public OperationResultValue <List <ServiceDataContracts.OrderToGo> > GetOrderToGoList(OrderToGoFilter filter, PageInfo page) { try { try { log.Debug($"GetOrderToGoList Start: {filter?.DeliveryDateStart} End: {filter?.DeliveryDateEnd}"); } catch { } var query = db.OrderToGo.Where(o => true); #region Filter if (filter.Comment != null) { query = query.Where(o => o.Comment == filter.Comment); } if (filter.CreatedById != null) { query = query.Where(o => o.CreatedById == filter.CreatedById); } if (filter.CreationDateStart != null) { query = query.Where(o => o.CreationDate >= filter.CreationDateStart); } if (filter.CreationDateEnd != null) { query = query.Where(o => o.CreationDate <= filter.CreationDateEnd); } if (filter.DeliveryDateEnd != null) { query = query.Where(o => o.DeliveryDate <= filter.DeliveryDateEnd); } if (filter.DeliveryDateStart != null) { query = query.Where(o => o.DeliveryDate >= filter.DeliveryDateStart); } /* * if (filter.DeliveryPlaceId != null) * { * query = query.Where(o => o.DeliveryPlaceId >= filter.DeliveryPlaceId); * } */ if (filter.ExportTimeEnd != null) { query = query.Where(o => o.ExportTime <= filter.ExportTimeEnd); } if (filter.ExportTimeStart != null) { query = query.Where(o => o.ExportTime <= filter.ExportTimeStart); } if (filter.OrderComment != null) { query = query.Where(o => o.OrderComment == filter.OrderComment); } if (filter.OrderNumber != null) { query = query.Where(o => o.OrderNumber == filter.OrderNumber); } if (filter.OrderStatus != null) { query = query.Where(o => o.OrderStatus == (int)filter.OrderStatus); } if (filter.PhoneNumber != null) { query = query.Where(o => o.PhoneNumber == filter.PhoneNumber); } if (filter.ReadyTimeEnd != null) { query = query.Where(o => o.ReadyTime <= filter.ReadyTimeEnd); } if (filter.ReadyTimeStart != null) { query = query.Where(o => o.ReadyTime >= filter.ReadyTimeStart); } #endregion Filter query = query.OrderByDescending(o => o.Id).Skip(page.Skip).Take(page.Take); var result = //query.ToList().Select(order => Mapper.Map<Entities.OrderToGo, ServiceDataContracts.OrderToGo>(order) query.Select(order => new ServiceDataContracts.OrderToGo { Id = order.Id, OldId = order.OldId, //Comment = order.Comment, DeliveryDate = order.DeliveryDate, ExportTime = order.ExportTime, IsSHSent = order.IsSHSent, DriverId = order.DriverId, MarketingChannelId = order.MarketingChannelId, CommentKitchen = order.CommentKitchen, OrderComment = order.OrderComment, Closed = order.Closed, OrderCustomerId = order.OrderCustomerId, OrderNumber = order.OrderNumber, OrderStatus = (OrderStatus)order.OrderStatus, PhoneNumber = order.PhoneNumber, ReadyTime = order.ReadyTime, CreatedById = order.CreatedById, CreationDate = order.CreationDate, Summ = order.Summ, DeliveryPrice = order.DeliveryPrice, AddressId = order.AddressId, PreCheckPrinted = order.PreCheckPrinted, NeedPrintFR = order.NeedPrintFR, FRPrinted = order.FRPrinted, NeedPrintPrecheck = order.NeedPrintPrecheck, //DishPackages = order.DishPackages.Select(pack => // Mapper.Map<Entities.DishPackageToGoOrder, ServiceDataContracts.DishPackageToGoOrder>(pack) //).ToList(), DishPackages = order.DishPackages.Select(pack => new ServiceDataContracts.DishPackageToGoOrder { Id = pack.Id, Amount = pack.Amount, Comment = pack.Comment, DishId = pack.DishId, DishName = pack.DishName, OrderToGoId = pack.OrderToGoId, TotalPrice = pack.TotalPrice, PositionInOrder = pack.PositionInOrder, Deleted = pack.Deleted, DeletedStatus = pack.DeletedStatus, SpisPaymentId = pack.SpisPaymentId, Code = pack.Code }).ToList(), PaymentId = order.PaymentId, DiscountPercent = order.DiscountPercent } ).ToList(); //result.ForEach(a => { a.DeliveryDate = a.DeliveryDate.ToUniversalTime(); }); log.Debug($"GetOrderToGoList End"); return(new OperationResultValue <List <ServiceDataContracts.OrderToGo> > { Success = true, Result = result }); } catch (Exception e) { log.Error("Error", e); return(new OperationResultValue <List <ServiceDataContracts.OrderToGo> > { Success = false, ErrorMessage = e.Message }); } }