public virtual ActionResult GetAll([DataSourceRequest] DataSourceRequest request, DateTime?dateFrom, DateTime?dateTo, string buyerName, string orderNumber, string feedbackStatus) { LogI("GetAll"); var filter = new FeedbackFilterViewModel() { DateFrom = dateFrom, DateTo = dateTo, BuyerName = buyerName, OrderNumber = orderNumber, FeedbackStatus = feedbackStatus }; request.Sorts = new List <SortDescriptor>() { new SortDescriptor("OrderDate", ListSortDirection.Descending) }; var items = OrderFeedbackViewModel.GetAll(Db, filter); var dataSource = items.ToDataSourceResult(request); return(new JsonResult { Data = dataSource, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public static IEnumerable <OrderEmailViewModel> GetAll(IUnitOfWork db, FeedbackFilterViewModel filter) { var orders = db.Orders.GetListForFeedback() .Select(o => new OrderEmailViewModel { Id = o.Id, OrderId = o.OrderId, OrderNumber = o.OrderId, AmazonEmail = o.AmazonEmail, BuyerEmail = o.BuyerEmail, OrderDate = o.OrderDate, ShippingService = o.ShippingService, BuyerName = o.PersonName, ShippingDate = o.ShipDate, ShippingCountry = o.ShippingCountry, IsSent = o.IsEmailed, FeedbackRequestDate = o.FeedbackRequestDate, Timezone = o.Timezone, PackageDeliveryDate = o.ActualDeliveryDate, TrackingStateEvent = o.TrackingStateEvent, TrackingStateDate = o.TrackingStateDate, }); 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.OrderId == filter.OrderNumber); } if (!filter.IsIncludeNotDelivered) { orders = orders.Where(o => o.PackageDeliveryDate.HasValue); } if (!filter.IsIncludeSent) { orders = orders.Where(o => !o.FeedbackRequestDate.HasValue); } return(orders.OrderByDescending(o => o.OrderDate)); }