Ejemplo n.º 1
0
        public static List <OrderLocal> GetFilteredOrders_Admin(SearchOrdersRequestModel 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();
                    var abc     = dbContext.Orders.ToList();
                    var results = dbContext.Orders.Where(x => (source.ListStatuses.Count == 0) &&
                                                         (source.ListRiders.Count == 0 || (source.ListRiders.Any(s => x.PickedBy.Equals(s))))
                                                         ).ToList().OrderByDescending(o => o.Id).Select(o => o.MappOrder()).ToList();
                    return(results);
                }
                catch (Exception e)
                {
                    return(null);
                    //throw;
                }

                //var orders = dbContext.Orders.ToList().OrderByDescending(o => o.Id).Select(o => o.MappOrder()).ToList();
            }
        }
Ejemplo n.º 2
0
        public static Expression <Func <OrderLocal, bool> > BuildPredicateForOrdersSearching(SearchOrdersRequestModel obj)
        {
            var predicate = PredicateBuilder.False <OrderLocal>();

            if (obj.ListStatuses != null && obj.ListStatuses.Count > 0)
            {
                foreach (var status in obj.ListStatuses)
                {
                    predicate = predicate.Or(o => o.Status.ToLower() == status.ToLower());
                }
            }
            return(predicate);
        }