public virtual IActionResult CountrySalesList(CountryReportSearchModel searchModel) { if (!_permissionService.Authorize(StandardPermissionProvider.OrderCountryReport)) { return(AccessDeniedDataTablesJson()); } //prepare model var model = _reportModelFactory.PrepareCountrySalesListModel(searchModel); return(Json(model)); }
public virtual async Task <IActionResult> CountrySalesList(CountryReportSearchModel searchModel) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.OrderCountryReport)) { return(await AccessDeniedDataTablesJson()); } //prepare model var model = await _reportModelFactory.PrepareCountrySalesListModelAsync(searchModel); return(Json(model)); }
/// <summary> /// Prepare country report search model /// </summary> /// <param name="searchModel">Country report search model</param> /// <returns>Country report search model</returns> public virtual CountryReportSearchModel PrepareCountrySalesSearchModel(CountryReportSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //prepare page parameters searchModel.SetGridPageSize(); return(searchModel); }
/// <summary> /// Prepare country report search model /// </summary> /// <param name="searchModel">Country report search model</param> /// <returns>Country report search model</returns> public virtual CountryReportSearchModel PrepareCountrySalesSearchModel(CountryReportSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //prepare available order statuses _baseAdminModelFactory.PrepareOrderStatuses(searchModel.AvailableOrderStatuses); //prepare available payment statuses _baseAdminModelFactory.PreparePaymentStatuses(searchModel.AvailablePaymentStatuses); //prepare page parameters searchModel.SetGridPageSize(); return(searchModel); }
/// <summary> /// Prepare paged country report list model /// </summary> /// <param name="searchModel">Country report search model</param> /// <returns>Country report list model</returns> public virtual CountryReportListModel PrepareCountrySalesListModel(CountryReportSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get parameters to filter countryReports var orderStatus = searchModel.OrderStatusId > 0 ? (OrderStatus?)searchModel.OrderStatusId : null; var paymentStatus = searchModel.PaymentStatusId > 0 ? (PaymentStatus?)searchModel.PaymentStatusId : null; var startDateValue = !searchModel.StartDate.HasValue ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.StartDate.Value, _dateTimeHelper.CurrentTimeZone); var endDateValue = !searchModel.EndDate.HasValue ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.EndDate.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1); //get items var items = _orderReportService.GetCountryReport(os: orderStatus, ps: paymentStatus, startTimeUtc: startDateValue, endTimeUtc: endDateValue); //prepare list model var model = new CountryReportListModel { Data = items.PaginationByRequestModel(searchModel).Select(item => { //fill in model values from the entity var countryReportModel = new CountryReportModel { TotalOrders = item.TotalOrders }; //fill in additional values (not existing in the entity) countryReportModel.SumOrders = _priceFormatter.FormatPrice(item.SumOrders, true, false); countryReportModel.CountryName = _countryService.GetCountryById(item.CountryId ?? 0)?.Name; return(countryReportModel); }), Total = items.Count }; return(model); }
/// <summary> /// Prepare paged country report list model /// </summary> /// <param name="searchModel">Country report search model</param> /// <returns>Country report list model</returns> public virtual async Task <CountryReportListModel> PrepareCountrySalesListModelAsync(CountryReportSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get parameters to filter countryReports var orderStatus = searchModel.OrderStatusId > 0 ? (OrderStatus?)searchModel.OrderStatusId : null; var paymentStatus = searchModel.PaymentStatusId > 0 ? (PaymentStatus?)searchModel.PaymentStatusId : null; var startDateValue = !searchModel.StartDate.HasValue ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.StartDate.Value, await _dateTimeHelper.GetCurrentTimeZoneAsync()); var endDateValue = !searchModel.EndDate.HasValue ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.EndDate.Value, await _dateTimeHelper.GetCurrentTimeZoneAsync()).AddDays(1); //get items var items = (await _orderReportService.GetCountryReportAsync(os: orderStatus, ps: paymentStatus, startTimeUtc: startDateValue, endTimeUtc: endDateValue)).ToPagedList(searchModel); //prepare list model var model = await new CountryReportListModel().PrepareToGridAsync(searchModel, items, () => { return(items.SelectAwait(async item => { //fill in model values from the entity var countryReportModel = new CountryReportModel { TotalOrders = item.TotalOrders }; //fill in additional values (not existing in the entity) countryReportModel.SumOrders = await _priceFormatter.FormatPriceAsync(item.SumOrders, true, false); countryReportModel.CountryName = (await _countryService.GetCountryByIdAsync(item.CountryId ?? 0))?.Name; return countryReportModel; })); }); return(model); }