public virtual ActionResult GetAll([DataSourceRequest] DataSourceRequest request, DateTime?dateFrom, DateTime?dateTo, string buyerName, string orderNumber, string status) { LogI("GetAll"); var filter = new NotDeliveredFilterViewModel() { DateFrom = dateFrom, DateTo = dateTo, BuyerName = buyerName, OrderNumber = orderNumber, Status = status }; request.Sorts = new List <SortDescriptor>() { new SortDescriptor("OrderDate", ListSortDirection.Descending) }; var items = NotDeliveredOrderViewModel.GetAll(Db, filter); var dataSource = items.ToDataSourceResult(request); return(new JsonResult { Data = dataSource, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public static IEnumerable <NotDeliveredOrderViewModel> GetAll(IUnitOfWork db, NotDeliveredFilterViewModel filter) { var orders = db.Orders.GetNotDeliveredList() .Select(o => new NotDeliveredOrderViewModel { Id = o.Id, ShippingInfoId = o.ShippingInfoId, ShippingInfoType = o.ShippingInfoType, OrderNumber = o.OrderId, Market = o.Market, MarketplaceId = o.MarketplaceId, AmazonEmail = o.AmazonEmail, BuyerEmail = o.BuyerEmail, OrderDate = o.OrderDate, ShippingService = o.ShippingService, BuyerName = o.PersonName, ShippingDate = o.ShipDate, ShippingCountry = o.ShippingCountry, Timezone = o.Timezone, PackageDeliveryDate = o.ActualDeliveryDate, Carrier = o.Carrier, TrackingNumber = o.TrackingNumber, TrackingStateEvent = o.TrackingStateEvent, TrackingStateDate = o.TrackingStateDate, IsDismiss = o.NotDeliveredDismiss, IsSubmittedClaim = o.NotDeliveredSubmittedClaim, IsHighlight = o.NotDeliveredHighlight, }); if (filter.DateFrom.HasValue) { orders = orders.Where(o => o.OrderDate >= filter.DateFrom.Value); } if (filter.DateTo.HasValue) { orders = orders.Where(o => o.OrderDate <= filter.DateTo.Value); } if (!String.IsNullOrEmpty(filter.BuyerName)) { orders = orders.Where(o => o.BuyerName.Contains(filter.BuyerName)); } if (!String.IsNullOrEmpty(filter.OrderNumber)) { orders = orders.Where(o => o.OrderNumber == filter.OrderNumber); } if (filter.Status == NotDeliveredFilterViewModel.AllWithoutDismissedStatus) { orders = orders.Where(o => !o.IsDismiss); } if (filter.Status == NotDeliveredFilterViewModel.DismissStatus) { orders = orders.Where(o => o.IsDismiss); } if (filter.Status == NotDeliveredFilterViewModel.SubmittedClaimStatus) { orders = orders.Where(o => o.IsSubmittedClaim); } if (filter.Status == NotDeliveredFilterViewModel.HighlightStatus) { orders = orders.Where(o => o.IsHighlight); } return(orders.OrderByDescending(o => o.OrderDate)); }