public async Task <IActionResult> CountryReportList(DataSourceRequest command, CountryReportModel model) { DateTime?startDateValue = (model.StartDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.StartDate.Value, _dateTimeHelper.CurrentTimeZone); DateTime?endDateValue = (model.EndDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.EndDate.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1); OrderStatus? orderStatus = model.OrderStatusId > 0 ? (OrderStatus?)(model.OrderStatusId) : null; PaymentStatus?paymentStatus = model.PaymentStatusId > 0 ? (PaymentStatus?)(model.PaymentStatusId) : null; string storeId = ""; if (_workContext.CurrentCustomer.IsStaff()) { storeId = _workContext.CurrentCustomer.StaffStoreId; } var items = await _orderReportService.GetCountryReport( storeId : storeId, os : orderStatus, ps : paymentStatus, startTimeUtc : startDateValue, endTimeUtc : endDateValue); var result = new List <CountryReportLineModel>(); foreach (var x in items) { var country = await _countryService.GetCountryById(!String.IsNullOrEmpty(x.CountryId)?x.CountryId : ""); var m = new CountryReportLineModel { CountryName = country != null ? country.Name : "Unknown", SumOrders = _priceFormatter.FormatPrice(x.SumOrders, true, false), TotalOrders = x.TotalOrders, }; result.Add(m); } var gridModel = new DataSourceResult { Data = result, Total = items.Count }; return(Json(gridModel)); }
public IActionResult CountryReportList(DataSourceRequest command, CountryReportModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.OrderCountryReport)) { return(Content("")); } DateTime?startDateValue = (model.StartDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.StartDate.Value, _dateTimeHelper.CurrentTimeZone); DateTime?endDateValue = (model.EndDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.EndDate.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1); OrderStatus? orderStatus = model.OrderStatusId > 0 ? (OrderStatus?)(model.OrderStatusId) : null; PaymentStatus?paymentStatus = model.PaymentStatusId > 0 ? (PaymentStatus?)(model.PaymentStatusId) : null; var items = _orderReportService.GetCountryReport( os: orderStatus, ps: paymentStatus, startTimeUtc: startDateValue, endTimeUtc: endDateValue); var gridModel = new DataSourceResult { Data = items.Select(x => { var country = _countryService.GetCountryById(!String.IsNullOrEmpty(x.CountryId) ? x.CountryId : ""); var m = new CountryReportLineModel { CountryName = country != null ? country.Name : "Unknown", SumOrders = _priceFormatter.FormatPrice(x.SumOrders, true, false), TotalOrders = x.TotalOrders, }; return(m); }), Total = items.Count }; return(Json(gridModel)); }