Ejemplo n.º 1
0
        public ResponseModel GetRestOrdersByDate(GetRestaurantOrdersForSpecificDate model)
        {
            var response = new ResponseModel
            {
                Success  = false,
                Messages = new List <string>()
            };

            try
            {
                if (model == null || string.IsNullOrEmpty(model.RestaurantId) || string.IsNullOrEmpty(model.StartDate) || string.IsNullOrEmpty(model.EndDate))
                {
                    response.Messages.Add("Data not mapped");
                    response.Data = model;
                }
                var data = OrderService.GetOrdersForRestaurant_ByDate(model);
                response.Data    = data;
                response.Success = true;
                response.Messages.Add("Success");
            }
            catch (Exception excep)
            {
                response.Messages.Add("Something bad happened.");
            }
            return(response);
        }
Ejemplo n.º 2
0
        public static OrdersForRestaurantResponseModel GetOrdersForRestaurant_ByDate(GetRestaurantOrdersForSpecificDate model)
        {
            using (var dbContext = new DeliversEntities())
            {
                model.CurrentPage--;

                var response = new OrdersForRestaurantResponseModel();

                var startDate = Convert.ToDateTime(model.StartDate, CultureInfo.InvariantCulture); // 9/24/2017 9:31:34 AM
                var endDate   = Convert.ToDateTime(model.EndDate, CultureInfo.InvariantCulture);   // 9/24/2017 9:31:34 AM

                var localList = new List <Order>();

                var list = (from od in dbContext.Orders
                            where
                            //  od.DateTime.Date >= startDate.Date && od.DateTime.Date <= endDate.Date &&
                            od.OrderDetails.Any(det => det.ItemDetail.ListItemId.ToString() == model.RestaurantId)
                            select od).ToList();

                if (list.Any())
                {
                    foreach (var od in list)
                    {
                        if (od.DateTime.Date >= startDate.Date && od.DateTime.Date <= endDate.Date)
                        {
                            localList.Add(od);
                        }
                    }

                    if (localList.Any())
                    {
                        var take = localList.Skip(model.CurrentPage * model.ItemsPerPage).
                                   Take(model.ItemsPerPage).ToList();
                        if (take.Any())
                        {
                            var finals = take.Select(obj => obj.MappOrder()).ToList();
                            response.Orders = finals;
                        }
                    }
                }
                response.ItemsPerPage = model.ItemsPerPage;
                response.CurrentPage++;
                response.TotalItems = localList.Count;
                return(response);
            }
        }