protected virtual void UpdateAttributeGroupLocales(SpecificationAttributeGroup specificationAttributeGroup, SpecificationAttributeGroupModel model) { foreach (var localized in model.Locales) { _localizedEntityService.SaveLocalizedValue(specificationAttributeGroup, x => x.Name, localized.Name, localized.LanguageId); } }
/// <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); } }
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)); }
/// <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); }
/// <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); }