コード例 #1
0
        public ResponseModel GeOrdersByDate_Rider(GeOrdersByDate_RiderModel model)
        {
            var response = new ResponseModel
            {
                Success  = false,
                Messages = new List <string>()
            };

            try
            {
                if (model == null || string.IsNullOrEmpty(model.UserId) || string.IsNullOrEmpty(model.StartDate) || string.IsNullOrEmpty(model.EndDate))
                {
                    response.Messages.Add("Data not mapped");
                    response.Data = model;
                }
                else if (!string.IsNullOrEmpty(model.Status) && !CommonService.VerifyOrderStatus(model.Status))
                {
                    response.Messages.Add("Invalid order status");
                    response.Data = model;
                }
                var data = OrderService.GetOrdersForRider_ByDate(model);
                response.Data    = data;
                response.Success = true;
                response.Messages.Add("Success");
            }
            catch (Exception excep)
            {
                response.Messages.Add("Something bad happened.");
            }
            return(response);
        }
コード例 #2
0
ファイル: OrderService.cs プロジェクト: BaqerNaqvi/DVS-dmn
        public static OrdersForRidersResponseModel GetOrdersForRider_ByDate(GeOrdersByDate_RiderModel model)
        {
            using (var dbContext = new DeliversEntities())
            {
                var response = new OrdersForRidersResponseModel();
                model.CurrentPage--;


                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 = dbContext.Orders.Where(o => o.PickedBy == model.UserId &&
                                                  (string.IsNullOrEmpty(model.Status) || o.Status.ToLower() == model.Status.ToLower())).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);
            }
        }