Ejemplo n.º 1
0
        public virtual async Task <IActionResult> SpecificationAttributeGroupList(SpecificationAttributeGroupSearchModel searchModel)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageAttributes))
            {
                return(await AccessDeniedDataTablesJson());
            }

            var model = await _specificationAttributeModelFactory.PrepareSpecificationAttributeGroupListModelAsync(searchModel);

            return(Json(model));
        }
        public virtual IActionResult SpecificationAttributeGroupList(SpecificationAttributeGroupSearchModel searchModel)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes))
            {
                return(AccessDeniedDataTablesJson());
            }

            var model = _specificationAttributeModelFactory.PrepareSpecificationAttributeGroupListModel(searchModel);

            return(Json(model));
        }
        /// <summary>
        /// Prepare paged specification attribute group list model
        /// </summary>
        /// <param name="searchModel">Specification attribute group search model</param>
        /// <returns>Specification attribute group list model</returns>
        public virtual SpecificationAttributeGroupListModel PrepareSpecificationAttributeGroupListModel(SpecificationAttributeGroupSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get specification attribute groups
            var specificationAttributeGroups = _specificationAttributeService
                                               .GetSpecificationAttributeGroups(searchModel.Page - 1, searchModel.PageSize);

            if (searchModel.Page == 1)
            {
                //dislpay default group with non-grouped specification attributes on first page
                specificationAttributeGroups.Insert(0, new SpecificationAttributeGroup
                {
                    Name = _localizationService.GetResource("Admin.Catalog.Attributes.SpecificationAttributes.SpecificationAttributeGroup.DefaultGroupName")
                });
            }

            //prepare list model
            var model = new SpecificationAttributeGroupListModel().PrepareToGrid(searchModel, specificationAttributeGroups, () =>
            {
                //fill in model values from the entity
                return(specificationAttributeGroups.Select(attribute => attribute.ToModel <SpecificationAttributeGroupModel>()));
            });

            return(model);
        }
        /// <summary>
        /// Prepare specification attribute group search model
        /// </summary>
        /// <param name="searchModel">Specification attribute group search model</param>
        /// <returns>Specification attribute group search model</returns>
        public virtual SpecificationAttributeGroupSearchModel PrepareSpecificationAttributeGroupSearchModel(SpecificationAttributeGroupSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(searchModel);
        }
        /// <summary>
        /// Prepare specification attribute group search model
        /// </summary>
        /// <param name="searchModel">Specification attribute group search model</param>
        /// <returns>
        /// A task that represents the asynchronous operation
        /// The task result contains the specification attribute group search model
        /// </returns>
        public virtual Task <SpecificationAttributeGroupSearchModel> PrepareSpecificationAttributeGroupSearchModelAsync(SpecificationAttributeGroupSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(Task.FromResult(searchModel));
        }