//SearchOrdersRequestModelSingle // public ActionResult SearchOrders(SearchOrdersRequestModel obj) public ActionResult SearchOrders(SearchOrdersRequestModelSingle obj) { try { //var predicate = PredicateBuilder.BuildPredicateForOrdersSearching(obj); //if (obj.ListRestaurants == null) //{ // obj.ListRestaurants = new List<long?>(); //} //if (obj.ListRiders == null) //{ // obj.ListRiders = new List<string>(); //} //if (obj.ListStatuses == null) //{ // obj.ListStatuses = new List<string>(); //} var orders = OrderService.GetFilteredOrdersSingle_Admin(obj); return(View("~/Views/AdOrders/_OrdersTable.cshtml", orders.ToList())); } catch (Exception e) { //log ex here //throw; return(null); } }
public static List <OrderLocal> GetFilteredOrdersSingle_Admin(SearchOrdersRequestModelSingle source) { using (var dbContext = new DeliversEntities()) { try { //var results = dbContext.Orders.Where(x => (source.ListStatuses.Count == 0 || (source.ListStatuses.Any(s => s == x.Status))) && //(source.ListRiders.Count == 0 || (source.ListRiders.Any(s => x.PickedBy.Equals(s)))) && //(source.ListRestaurants.Count == 0 || (source.ListRestaurants.Any(s => x.OrderDetails.FirstOrDefault().ItemDetail.Id == s))) //).ToList().OrderByDescending(o => o.Id).Select(o => o.MappOrder()).ToList(); //temp code,remove asap. //var abc = dbContext.Orders.ToList(); var results = dbContext.Orders.Where(x => (string.IsNullOrEmpty(source.Status) || x.Status == source.Status) && (string.IsNullOrEmpty(source.Rider) || (source.Rider == x.PickedBy)) && (source.Restaurant == null || (source.Restaurant == x.OrderDetails.FirstOrDefault().RestId)) ); if (source.OrderDateFrom != null && source.OrderDateTo != null) { results = results.Where(x => Nullable.Compare((DbFunctions.TruncateTime(x.DateTime)), source.OrderDateFrom) > -1 && Nullable.Compare((DbFunctions.TruncateTime(x.DateTime)), source.OrderDateTo) < 1); } else if (source.OrderDateTo != null) { results = results.Where(x => Nullable.Compare((DbFunctions.TruncateTime(x.DateTime)), source.OrderDateTo) < 1); } else if (source.OrderDateFrom != null) { results = results.Where(x => Nullable.Compare((DbFunctions.TruncateTime(x.DateTime)), source.OrderDateFrom) > -1); } var _filtered = results.ToList().OrderByDescending(o => o.Id).Select(o => o.MappOrder()).ToList(); return(_filtered); } catch (Exception e) { return(null); //throw; } //var orders = dbContext.Orders.ToList().OrderByDescending(o => o.Id).Select(o => o.MappOrder()).ToList(); } }