public virtual IActionResult BulkEditSelect(BulkEditProductSearchModel searchModel) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageProducts)) { return(AccessDeniedKendoGridJson()); } //prepare model var model = _productModelFactory.PrepareBulkEditProductListModel(searchModel); return(Json(model)); }
/// <summary> /// Prepare bulk edit product search model /// </summary> /// <param name="searchModel">Bulk edit product search model</param> /// <returns>Bulk edit product search model</returns> public virtual BulkEditProductSearchModel PrepareBulkEditProductSearchModel(BulkEditProductSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //prepare available categories _baseAdminModelFactory.PrepareCategories(searchModel.AvailableCategories); //prepare available product types _baseAdminModelFactory.PrepareProductTypes(searchModel.AvailableProductTypes); //prepare page parameters searchModel.SetGridPageSize(); return(searchModel); }
/// <summary> /// Prepare paged bulk edit product list model /// </summary> /// <param name="searchModel">Bulk edit product search model</param> /// <returns>Bulk edit product list model</returns> public virtual BulkEditProductListModel PrepareBulkEditProductListModel(BulkEditProductSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get products var products = _productService.SearchProducts(showHidden: true, categoryIds: new List <int> { searchModel.SearchCategoryId }, vendorId: _workContext.CurrentVendor?.Id ?? 0, productType: searchModel.SearchProductTypeId > 0 ? (ProductType?)searchModel.SearchProductTypeId : null, keywords: searchModel.SearchProductName, pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize); //prepare list model var model = new BulkEditProductListModel { Data = products.Select(product => { //fill in model values from the entity var productModel = new BulkEditProductModel { Id = product.Id, Name = product.Name, Published = product.Published }; return(productModel); }), Total = products.TotalCount }; return(model); }