Example #1
0
        public IActionResult OrdersChartReport(OrderReportSearchModel searchModel)
        {
            if (searchModel.StartDate == null)
            {
                switch (searchModel.GroupBy)
                {
                case GroupUnit.Days:
                    searchModel.StartDate = DateTime.UtcNow.AddDays(-29);     //a month old
                    break;

                case GroupUnit.Weeks:
                    searchModel.StartDate = new DateTime(DateTime.UtcNow.Year, 1, 1);     //1st day of January of current year
                    break;

                case GroupUnit.Months:
                    searchModel.StartDate = DateTime.UtcNow.AddYears(-1);     //a year
                    break;

                default:
                case GroupUnit.Years:
                    searchModel.StartDate = DateTime.UtcNow.AddYears(-10);     //a decade
                    break;
                }
            }
            searchModel.EndDate  = searchModel.EndDate ?? DateTime.UtcNow;
            searchModel.RowCount = int.MaxValue;
            searchModel.Current  = 1;
            return(OrdersReport(searchModel));
        }
Example #2
0
        public IActionResult UserOrdersReport(OrderReportSearchModel searchModel)
        {
            searchModel           = searchModel ?? new OrderReportSearchModel();
            searchModel.EndDate   = searchModel.EndDate ?? DateTime.UtcNow;
            searchModel.StartDate = searchModel.StartDate ?? DateTime.UtcNow.AddDays(-29);
            var orders = _orderService.GetOrders(out _, searchModel.SearchPhrase,
                                                 orderStatus: searchModel.OrderStatus, paymentStatus: searchModel.PaymentStatus,
                                                 startDate: searchModel.StartDate, endDate: searchModel.EndDate).ToList();

            var models =
                _reportModelFactory.CreateUserOrderReportModels(out int totalResults, orders, searchModel.Current, searchModel.RowCount);

            return(R.Success.With("reportItems", models)
                   .With("startDate", searchModel.StartDate)
                   .With("endDate", searchModel.EndDate)
                   .WithAvailableOrderStatusTypes()
                   .WithAvailablePaymentStatusTypes()
                   .WithGridResponse(totalResults, searchModel.Current, searchModel.RowCount).Result);
        }