public static OrdersForRestaurantResponseModel GetOrdersForRestaurant(GetRestaurantOrdersForSpecificStatus model) { using (var dbContext = new DeliversEntities()) { model.CurrentPage--; var response = new OrdersForRestaurantResponseModel(); var orderStatus = OrderHistoryEnu.GetOrderStatus(model.Status); var list = dbContext.Orders .Where( od => od.OrderHistories.Any(str => str.Status == orderStatus.Value) && od.OrderDetails.Any(det => det.ItemDetail.ListItemId.ToString() == model.RestaurantId)) .ToList(); if (list.Any()) { var take = list.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 = list.Count; return(response); } }
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); } }