protected virtual void UpdateAttributeGroupLocales(SpecificationAttributeGroup specificationAttributeGroup, SpecificationAttributeGroupModel model)
 {
     foreach (var localized in model.Locales)
     {
         _localizedEntityService.SaveLocalizedValue(specificationAttributeGroup,
                                                    x => x.Name,
                                                    localized.Name,
                                                    localized.LanguageId);
     }
 }
Exemple #2
0
 /// <returns>A task that represents the asynchronous operation</returns>
 protected virtual async Task UpdateAttributeGroupLocalesAsync(SpecificationAttributeGroup specificationAttributeGroup, SpecificationAttributeGroupModel model)
 {
     foreach (var localized in model.Locales)
     {
         await _localizedEntityService.SaveLocalizedValueAsync(specificationAttributeGroup,
                                                               x => x.Name,
                                                               localized.Name,
                                                               localized.LanguageId);
     }
 }
Exemple #3
0
        public virtual async Task <IActionResult> SpecificationAttributeList(SpecificationAttributeSearchModel searchModel)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageAttributes))
            {
                return(await AccessDeniedDataTablesJson());
            }

            SpecificationAttributeGroup group = null;

            if (searchModel.SpecificationAttributeGroupId > 0)
            {
                group = await _specificationAttributeService.GetSpecificationAttributeGroupByIdAsync(searchModel.SpecificationAttributeGroupId)
                        ?? throw new ArgumentException("No specification attribute group found with the specified id");
            }

            var model = await _specificationAttributeModelFactory.PrepareSpecificationAttributeListModelAsync(searchModel, group);

            return(Json(model));
        }
Exemple #4
0
 /// <summary>
 /// Updates the specification attribute group
 /// </summary>
 /// <param name="specificationAttributeGroup">The specification attribute group</param>
 public virtual async Task UpdateSpecificationAttributeGroupAsync(SpecificationAttributeGroup specificationAttributeGroup)
 {
     await _specificationAttributeGroupRepository.UpdateAsync(specificationAttributeGroup);
 }
Exemple #5
0
 /// <summary>
 /// Inserts a specification attribute group
 /// </summary>
 /// <param name="specificationAttributeGroup">The specification attribute group</param>
 public virtual async Task InsertSpecificationAttributeGroupAsync(SpecificationAttributeGroup specificationAttributeGroup)
 {
     await _specificationAttributeGroupRepository.InsertAsync(specificationAttributeGroup);
 }
        /// <summary>
        /// Prepare paged specification attribute list model
        /// </summary>
        /// <param name="searchModel">Specification attribute search model</param>
        /// <param name="group">Specification attribute group</param>
        /// <returns>Specification attribute list model</returns>
        public virtual SpecificationAttributeListModel PrepareSpecificationAttributeListModel(SpecificationAttributeSearchModel searchModel, SpecificationAttributeGroup group)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get specification attributes
            var specificationAttributes = _specificationAttributeService.GetSpecificationAttributesByGroupId(group?.Id).ToPagedList(searchModel);

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

            return(model);
        }
        /// <summary>
        /// Prepare specification attribute group model
        /// </summary>
        /// <param name="model">Specification attribute group model</param>
        /// <param name="specificationAttributeGroup">Specification attribute group</param>
        /// <param name="excludeProperties">Whether to exclude populating of some properties of model</param>
        /// <returns>Specification attribute group model</returns>
        public virtual SpecificationAttributeGroupModel PrepareSpecificationAttributeGroupModel(SpecificationAttributeGroupModel model,
                                                                                                SpecificationAttributeGroup specificationAttributeGroup, bool excludeProperties = false)
        {
            Action <SpecificationAttributeGroupLocalizedModel, int> localizedModelConfiguration = null;

            if (specificationAttributeGroup != null)
            {
                //fill in model values from the entity
                model ??= specificationAttributeGroup.ToModel <SpecificationAttributeGroupModel>();

                //define localized model configuration action
                localizedModelConfiguration = (locale, languageId) =>
                {
                    locale.Name = _localizationService.GetLocalized(specificationAttributeGroup, entity => entity.Name, languageId, false, false);
                };
            }

            //prepare localized models
            if (!excludeProperties)
            {
                model.Locales = _localizedModelFactory.PrepareLocalizedModels(localizedModelConfiguration);
            }

            return(model);
        }
 /// <summary>
 /// Updates the specification attribute group
 /// </summary>
 /// <param name="specificationAttributeGroup">The specification attribute group</param>
 public virtual void UpdateSpecificationAttributeGroup(SpecificationAttributeGroup specificationAttributeGroup)
 {
     _specificationAttributeGroupRepository.Update(specificationAttributeGroup);
 }
 /// <summary>
 /// Inserts a specification attribute group
 /// </summary>
 /// <param name="specificationAttributeGroup">The specification attribute group</param>
 public virtual void InsertSpecificationAttributeGroup(SpecificationAttributeGroup specificationAttributeGroup)
 {
     _specificationAttributeGroupRepository.Insert(specificationAttributeGroup);
 }