/// <summary> /// Prepare paged category list model /// </summary> /// <param name="searchModel">Category search model</param> /// <returns>Category list model</returns> public virtual LibraryCategoryListModel PrepareCategoryListModel(LibraryCategorySearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get categories var categories = _categoryService.GetAllCategories(categoryName: searchModel.SearchCategoryName, showHidden: true, storeId: searchModel.SearchStoreId, pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize); //prepare grid model var model = new LibraryCategoryListModel { Data = categories.Select(category => { //fill in model values from the entity var categoryModel = category.ToModel <LibraryCategoryModel>(); //fill in additional values (not existing in the entity) categoryModel.Breadcrumb = _categoryService.GetFormattedBreadCrumb(category); categoryModel.SeName = _urlRecordService.GetSeName(category, 0, true, false); return(categoryModel); }), Total = categories.TotalCount }; return(model); }
public virtual IActionResult List(LibraryCategorySearchModel searchModel) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageCategories)) { return(AccessDeniedKendoGridJson()); } //prepare model var model = _categoryModelFactory.PrepareCategoryListModel(searchModel); return(Json(model)); }
public virtual LibraryCategorySearchModel PrepareCategorySearchModel(LibraryCategorySearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //prepare available stores _baseAdminModelFactory.PrepareStores(searchModel.AvailableStores); searchModel.HideStoresList = _catalogSettings.IgnoreStoreLimitations; //prepare page parameters searchModel.SetGridPageSize(); return(searchModel); }