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); }
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); } }