/// <summary> /// Prepare never sold report search model /// </summary> /// <param name="searchModel">Never sold report search model</param> /// <returns>Never sold report search model</returns> public virtual NeverSoldReportSearchModel PrepareNeverSoldSearchModel(NeverSoldReportSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } searchModel.IsLoggedInAsVendor = _workContext.CurrentVendor != null; //prepare available stores _baseAdminModelFactory.PrepareStores(searchModel.AvailableStores); //prepare available categories _baseAdminModelFactory.PrepareCategories(searchModel.AvailableCategories); //prepare available manufacturers _baseAdminModelFactory.PrepareManufacturers(searchModel.AvailableManufacturers); //prepare available vendors _baseAdminModelFactory.PrepareVendors(searchModel.AvailableVendors); //prepare page parameters searchModel.SetGridPageSize(); return(searchModel); }
public virtual async Task <IActionResult> NeverSoldList(NeverSoldReportSearchModel searchModel) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageOrders)) { return(await AccessDeniedDataTablesJson()); } //prepare model var model = await _reportModelFactory.PrepareNeverSoldListModelAsync(searchModel); return(Json(model)); }
public virtual IActionResult NeverSoldList(NeverSoldReportSearchModel searchModel) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders)) { return(AccessDeniedDataTablesJson()); } //prepare model var model = _reportModelFactory.PrepareNeverSoldListModel(searchModel); return(Json(model)); }
/// <summary> /// Prepare paged never sold report list model /// </summary> /// <param name="searchModel">Never sold report search model</param> /// <returns>Never sold report list model</returns> public virtual NeverSoldReportListModel PrepareNeverSoldListModel(NeverSoldReportSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get parameters to filter neverSoldReports if (_workContext.CurrentVendor != null) { searchModel.SearchVendorId = _workContext.CurrentVendor.Id; } 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 report items var items = _orderReportService.ProductsNeverSold(showHidden: true, vendorId: searchModel.SearchVendorId, storeId: searchModel.SearchStoreId, categoryId: searchModel.SearchCategoryId, manufacturerId: searchModel.SearchManufacturerId, createdFromUtc: startDateValue, createdToUtc: endDateValue, pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize); //prepare list model var model = new NeverSoldReportListModel { //fill in model values from the entity Data = items.Select(item => new NeverSoldReportModel { ProductId = item.Id, ProductName = item.Name }), Total = items.TotalCount }; return(model); }
/// <summary> /// Prepare paged never sold report list model /// </summary> /// <param name="searchModel">Never sold report search model</param> /// <returns>Never sold report list model</returns> public virtual async Task <NeverSoldReportListModel> PrepareNeverSoldListModelAsync(NeverSoldReportSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get parameters to filter neverSoldReports if (await _workContext.GetCurrentVendorAsync() != null) { searchModel.SearchVendorId = (await _workContext.GetCurrentVendorAsync()).Id; } 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 report items var items = await _orderReportService.ProductsNeverSoldAsync(showHidden : true, vendorId : searchModel.SearchVendorId, storeId : searchModel.SearchStoreId, categoryId : searchModel.SearchCategoryId, manufacturerId : searchModel.SearchManufacturerId, createdFromUtc : startDateValue, createdToUtc : endDateValue, pageIndex : searchModel.Page - 1, pageSize : searchModel.PageSize); //prepare list model var model = new NeverSoldReportListModel().PrepareToGrid(searchModel, items, () => { //fill in model values from the entity return(items.Select(item => new NeverSoldReportModel { ProductId = item.Id, ProductName = item.Name })); }); return(model); }