Example #1
0
        public ActionResult Index(string orderStatus, DateTime?startDate, DateTime?endDate, int page = 1)
        {
            if (string.IsNullOrWhiteSpace(orderStatus))
            {
                orderStatus = "Complete";
            }
            var ordersByStatus = _orderQueryService.OrdersByStatus(orderStatus, startDate, endDate);
            var total          = ordersByStatus.Count();
            var orders         = ordersByStatus.Paged(page, DefaultPerPage, "UpdatedAt desc");

            var viewModel = new OrdersIndex
            {
                Count        = orders.Count(),
                Orders       = orders,
                StatusFilter = orderStatus,
                StartDate    = startDate,
                EndDate      = endDate,
                PagingInfo   = new PagingInfo
                {
                    CurrentPage = page,
                    PerPage     = DefaultPerPage,
                    TotalItems  = total
                }
            };

            viewModel.SetCounts(_orderQueryService.CountsByStatus());
            return(View(viewModel));
        }