/// <summary> /// Deletes a specification attribute option /// </summary> /// <param name="specificationAttributeOption">The specification attribute option</param> public virtual async Task DeleteSpecificationAttributeOption(SpecificationAttributeOption specificationAttributeOption) { if (specificationAttributeOption == null) { throw new ArgumentNullException(nameof(specificationAttributeOption)); } //delete from all product collections await _productRepository.PullFilter(string.Empty, x => x.ProductSpecificationAttributes, z => z.SpecificationAttributeOptionId, specificationAttributeOption.Id, true); var specificationAttribute = await GetSpecificationAttributeByOptionId(specificationAttributeOption.Id); var sao = specificationAttribute.SpecificationAttributeOptions.Where(x => x.Id == specificationAttributeOption.Id).FirstOrDefault(); if (sao == null) { throw new ArgumentException("No specification attribute option found with the specified id"); } specificationAttribute.SpecificationAttributeOptions.Remove(sao); await UpdateSpecificationAttribute(specificationAttribute); //clear cache await _cacheBase.RemoveByPrefix(CacheKey.SPECIFICATION_PATTERN_KEY); await _cacheBase.RemoveByPrefix(CacheKey.PRODUCTS_PATTERN_KEY); //event notification await _mediator.EntityDeleted(specificationAttributeOption); }
/// <summary> /// Deletes a specification attribute option /// </summary> /// <param name="specificationAttributeOption">The specification attribute option</param> public virtual void DeleteSpecificationAttributeOption(SpecificationAttributeOption specificationAttributeOption) { if (specificationAttributeOption == null) { throw new ArgumentNullException("specificationAttributeOption"); } var builder = Builders <Product> .Update; var updatefilter = builder.PullFilter(x => x.ProductSpecificationAttributes, y => y.SpecificationAttributeId == specificationAttributeOption.SpecificationAttributeId && y.SpecificationAttributeOptionId == specificationAttributeOption.Id); var result = _productRepository.Collection.UpdateManyAsync(new BsonDocument(), updatefilter).Result; var specificationAttribute = GetSpecificationAttributeById(specificationAttributeOption.SpecificationAttributeId); var sao = specificationAttribute.SpecificationAttributeOptions.Where(x => x.Id == specificationAttributeOption.Id).FirstOrDefault(); if (sao == null) { throw new ArgumentException("No specification attribute option found with the specified id"); } specificationAttribute.SpecificationAttributeOptions.Remove(sao); UpdateSpecificationAttribute(specificationAttribute); _cacheManager.RemoveByPattern(PRODUCTS_PATTERN_KEY); _cacheManager.RemoveByPattern(PRODUCTSPECIFICATIONATTRIBUTE_PATTERN_KEY); //event notification _eventPublisher.EntityDeleted(specificationAttributeOption); }
/// <summary> /// Deletes a specification attribute option /// </summary> /// <param name="specificationAttributeOption">The specification attribute option</param> public virtual async Task DeleteSpecificationAttributeOption(SpecificationAttributeOption specificationAttributeOption) { if (specificationAttributeOption == null) { throw new ArgumentNullException(nameof(specificationAttributeOption)); } var builder = Builders <Product> .Update; var updatefilter = builder.PullFilter(x => x.ProductSpecificationAttributes, y => y.SpecificationAttributeOptionId == specificationAttributeOption.Id); await _productRepository.Collection.UpdateManyAsync(new BsonDocument(), updatefilter); var specificationAttribute = await GetSpecificationAttributeByOptionId(specificationAttributeOption.Id); var sao = specificationAttribute.SpecificationAttributeOptions.Where(x => x.Id == specificationAttributeOption.Id).FirstOrDefault(); if (sao == null) { throw new ArgumentException("No specification attribute option found with the specified id"); } specificationAttribute.SpecificationAttributeOptions.Remove(sao); await UpdateSpecificationAttribute(specificationAttribute); //clear cache await _cacheBase.RemoveByPrefix(CacheKey.SPECIFICATION_PATTERN_KEY); await _cacheBase.RemoveByPrefix(CacheKey.PRODUCTS_PATTERN_KEY); //event notification await _mediator.EntityDeleted(specificationAttributeOption); }
public void UpdateOptionLocales(SpecificationAttributeOption specificationAttributeOption, SpecificationAttributeOptionModel model) { foreach (var localized in model.Locales) { _localizedEntityService.SaveLocalizedValue(specificationAttributeOption, x => x.Name, localized.Name, localized.LanguageId); } }
private void AddMultipleOptionNames(SpecificationAttributeOptionModel model) { var values = model.Name.SplitSafe(";"); int order = model.DisplayOrder; for (int i = 0; i < values.Length; ++i) { var sao = new SpecificationAttributeOption() { Name = values[i].Trim(), DisplayOrder = order++, SpecificationAttributeId = model.SpecificationAttributeId }; _specificationAttributeService.InsertSpecificationAttributeOption(sao); foreach (var localized in model.Locales.Where(l => l.Name.HasValue())) { var localizedValues = localized.Name.SplitSafe(";"); string value = (i < localizedValues.Length ? localizedValues[i].Trim() : sao.Name); _localizedEntityService.SaveLocalizedValue(sao, x => x.Name, value, localized.LanguageId); } } }
protected void btnAdd_Click(object sender, EventArgs e) { try { var specificationAttribute = this.SpecificationAttributeService.GetSpecificationAttributeById(this.SpecificationAttributeId); if (specificationAttribute != null) { var sao = new SpecificationAttributeOption() { SpecificationAttributeId = specificationAttribute.SpecificationAttributeId, Name = txtNewOptionName.Text, DisplayOrder = txtNewOptionDisplayOrder.Value }; this.SpecificationAttributeService.InsertSpecificationAttributeOption(sao); SaveLocalizableContent(sao); string url = string.Format("SpecificationAttributeDetails.aspx?SpecificationAttributeID={0}&TabID={1}", specificationAttribute.SpecificationAttributeId, "pnlOptions"); Response.Redirect(url); } } catch (Exception exc) { processAjaxError(exc); } }
protected void AddButton_Click(object sender, EventArgs e) { if (Page.IsValid && IsValidUpload()) { try { SpecificationAttributeOption sao = null; if (IsColor) { int colorArgb = -1; if (!String.IsNullOrEmpty(txtColorArgb.Text)) { colorArgb = Int32.Parse(txtColorArgb.Text, System.Globalization.NumberStyles.AllowHexSpecifier); } ColorManager.InsertColor(txtNewOptionName.Text, colorArgb); ColorItem colorItem = ColorManager.GetColorByColorName(txtNewOptionName.Text); Upload(colorItem); } sao = SpecificationAttributeManager.InsertSpecificationAttributeOption(SpecificationAttributeID, txtNewOptionName.Text, txtNewOptionDisplayOrder.Value); Response.Redirect("SpecificationAttributeDetails.aspx?SpecificationAttributeID=" + sao.SpecificationAttributeID.ToString()); } catch (Exception exc) { ProcessException(exc); } } }
public IActionResult UpdateSpecificationAttributeOption([ModelBinder(typeof(JsonModelBinder <SpecificationAttributeOptionDto>))] Delta <SpecificationAttributeOptionDto> specificationAttributeOptionDelta) { // Here we display the errors if the validation has failed at some point. if (!ModelState.IsValid) { return(Error()); } // We do not need to validate the product attribute id, because this will happen in the model binder using the dto validator. int saoId = specificationAttributeOptionDelta.Dto.Id; SpecificationAttributeOption specificationAttributeOption = _specificationAttributeService.GetSpecificationAttributeOptionById(saoId); if (specificationAttributeOption == null) { return(Error(HttpStatusCode.NotFound, "specification attribute options", "not found")); } specificationAttributeOptionDelta.Merge(specificationAttributeOption); _specificationAttributeService.UpdateSpecificationAttributeOption(specificationAttributeOption); UpdateLocalesSpecificationAttributeOption(specificationAttributeOption, specificationAttributeOptionDelta.Dto.LocalizedNames); // Preparing the result dto of the new product attribute SpecificationAttributeOptionDto specificationAttributeOptionDto = _dtoHelper.PrepareSpecificationAttributeOptionDTO(specificationAttributeOption); var saoRootObjectDto = new SpecificationAttributesOptionRootObjectDto(); saoRootObjectDto.SpecificationAttributeOptions.Add(specificationAttributeOptionDto); var json = JsonFieldsSerializer.Serialize(saoRootObjectDto, string.Empty); return(new RawJsonActionResult(json)); }
public static string FindSpecificationAttributeOptionOfProductBySpecificationAttribute(string specificationAttributeName, List <ProductSpecificationAttributeMapping> productSpecificationAttributeMappings) { SpecificationAttribute specificationAttribute = specificationAttributes .Where(sa => sa.Name == specificationAttributeName).FirstOrDefault(); SpecificationAttributeOption specificationAttributeOption = null; foreach (ProductSpecificationAttributeMapping productSpecificationAttributeMapping in productSpecificationAttributeMappings) { specificationAttributeOption = specificationAttributeOptions .Where(saop => saop.SpecificationAttributeId == specificationAttribute.Id && saop.Id == productSpecificationAttributeMapping.SpecificationAttributeOptionId).FirstOrDefault(); if (specificationAttributeOption != null) { break; } } if (specificationAttributeOption != null) { return(specificationAttributeOption.Name); } return(null); }
public IActionResult CreateSpecificationAttributeOption([ModelBinder(typeof(JsonModelBinder <SpecificationAttributeOptionDto>))] Delta <SpecificationAttributeOptionDto> specificationAttributeOptionDelta) { // Here we display the errors if the validation has failed at some point. if (!ModelState.IsValid) { return(Error()); } // Inserting the new product SpecificationAttributeOption sao = new SpecificationAttributeOption(); specificationAttributeOptionDelta.Merge(sao); _specificationAttributeService.InsertSpecificationAttributeOption(sao); UpdateLocalesSpecificationAttributeOption(sao, specificationAttributeOptionDelta.Dto.LocalizedNames); // Preparing the result dto of the new product SpecificationAttributeOptionDto specificationAttributeOptionDto = _dtoHelper.PrepareSpecificationAttributeOptionDTO(sao); var saoRootObjectDto = new SpecificationAttributesOptionRootObjectDto(); saoRootObjectDto.SpecificationAttributeOptions.Add(specificationAttributeOptionDto); var json = JsonFieldsSerializer.Serialize(saoRootObjectDto, string.Empty); return(new RawJsonActionResult(json)); }
protected SpecificationAttributeOptionFilterCollection getAlreadyFilteredSpecs() { SpecificationAttributeOptionFilterCollection result = new SpecificationAttributeOptionFilterCollection(); string[] queryStringParams = getAlreadyFilteredSpecsQueryStringParams(); foreach (string qsp in queryStringParams) { int id = 0; int.TryParse(Request.QueryString[qsp], out id); SpecificationAttributeOption sao = SpecificationAttributeManager.GetSpecificationAttributeOptionByID(id); if (sao != null) { SpecificationAttribute sa = sao.SpecificationAttribute; if (sa != null) { result.Add(new SpecificationAttributeOptionFilter { SpecificationAttributeID = sa.SpecificationAttributeID, SpecificationAttributeName = sa.Name, DisplayOrder = sa.DisplayOrder, SpecificationAttributeOptionID = sao.SpecificationAttributeOptionID, SpecificationAttributeOptionName = sao.Name }); } } } return(result); }
public async Task <int> InsertAsync(SpecificationAttributeOption entity) { if (entity == null) { throw new ArgumentNullException("SpecificationAttributeOption"); } return(await _SpecificationAttributeOptionRepository.InsertAsync(entity)); }
public IActionResult UpdateSpecificationAttribute([ModelBinder(typeof(JsonModelBinder <SpecificationAttributeDto>))] Delta <SpecificationAttributeDto> specificaitonAttributeDelta) { // Here we display the errors if the validation has failed at some point. if (!ModelState.IsValid) { return(Error()); } var specificationAttribute = new SpecificationAttribute(); specificaitonAttributeDelta.Merge(specificationAttribute); if (specificationAttribute.Id <= 0) { _specificationAttributeService.InsertSpecificationAttribute(specificationAttribute); } var options = new List <SpecificationAttributeOption>(); if (specificaitonAttributeDelta.Dto.SpecificationAttributeOptions?.Any() == true) { var ix = 0; foreach (var option in specificaitonAttributeDelta.Dto.SpecificationAttributeOptions) { if (option.Id <= 0) { var opt = new SpecificationAttributeOption { Name = option.Name, SpecificationAttributeId = specificationAttribute.Id, DisplayOrder = ix }; ix++; _specificationAttributeService.InsertSpecificationAttributeOption(opt); options.Add(opt); } } } CustomerActivityService.InsertActivity("UpdateSpecAttribute", LocalizationService.GetResource("ActivityLog.AddNewSpecAttribute"), specificationAttribute); // Preparing the result dto of the new product var specificationAttributeDto = _dtoHelper.PrepareSpecificationAttributeDto(specificationAttribute); specificationAttributeDto.SpecificationAttributeOptions = new List <SpecificationAttributeOptionDto>(); foreach (var option in options) { specificationAttributeDto.SpecificationAttributeOptions.Add(_dtoHelper.PrepareSpecificationAttributeOptionDto(option)); } var specificationAttributesRootObjectDto = new SpecificationAttributesRootObjectDto(); specificationAttributesRootObjectDto.SpecificationAttributes.Add(specificationAttributeDto); var json = JsonFieldsSerializer.Serialize(specificationAttributesRootObjectDto, string.Empty); return(new RawJsonActionResult(json)); }
public virtual void UpdateSpecificationAttributeOption(SpecificationAttributeOption specificationAttributeOption) { if (specificationAttributeOption == null) { throw new ArgumentNullException("specificationAttributeOption"); } _specificationAttributeOptionRepository.Update(specificationAttributeOption); }
protected void SaveLocalizableContent(SpecificationAttributeOption sao) { if (sao == null) { return; } if (!this.HasLocalizableContent) { return; } foreach (GridViewRow row in grdSpecificationAttributeOptions.Rows) { Repeater rptrLanguageDivs2 = row.FindControl("rptrLanguageDivs2") as Repeater; if (rptrLanguageDivs2 != null) { HiddenField hfSpecificationAttributeOptionId = row.FindControl("hfSpecificationAttributeOptionId") as HiddenField; int saoId = int.Parse(hfSpecificationAttributeOptionId.Value); if (saoId == sao.SpecificationAttributeOptionId) { foreach (RepeaterItem item in rptrLanguageDivs2.Items) { if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) { var txtLocalizedOptionName = (TextBox)item.FindControl("txtLocalizedOptionName"); var lblLanguageId = (Label)item.FindControl("lblLanguageId"); int languageId = int.Parse(lblLanguageId.Text); string name = txtLocalizedOptionName.Text; bool allFieldsAreEmpty = string.IsNullOrEmpty(name); var content = SpecificationAttributeManager.GetSpecificationAttributeOptionLocalizedBySpecificationAttributeOptionIdAndLanguageId(sao.SpecificationAttributeOptionId, languageId); if (content == null) { if (!allFieldsAreEmpty && languageId > 0) { //only insert if one of the fields are filled out (avoid too many empty records in db...) content = SpecificationAttributeManager.InsertSpecificationAttributeOptionLocalized(sao.SpecificationAttributeOptionId, languageId, name); } } else { if (languageId > 0) { content = SpecificationAttributeManager.UpdateSpecificationAttributeOptionLocalized(content.SpecificationAttributeOptionLocalizedId, content.SpecificationAttributeOptionId, languageId, name); } } } } } } } }
private bool AddMultipleOptionNames(SpecificationAttributeOptionModel model) { var values = model.Name.SplitSafe(";"); var alias = model.Alias.SplitSafe(";"); var order = model.DisplayOrder; for (int i = 0; i < values.Length; ++i) { var sao = new SpecificationAttributeOption { Name = values.SafeGet(i).Trim(), Alias = alias.SafeGet(i).Trim(), DisplayOrder = order++, SpecificationAttributeId = model.SpecificationAttributeId }; try { _specificationAttributeService.InsertSpecificationAttributeOption(sao); } catch (Exception exception) { ModelState.AddModelError("", exception.Message); return(false); } try { // save localized properties foreach (var localized in model.Locales.Where(l => l.Name.HasValue())) { var localizedValues = localized.Name.SplitSafe(";"); var value = (i < localizedValues.Length ? localizedValues[i].Trim() : sao.Name); _localizedEntityService.SaveLocalizedValue(sao, x => x.Name, value, localized.LanguageId); } foreach (var localized in model.Locales.Where(l => l.Alias.HasValue())) { var localizedAlias = localized.Alias.SplitSafe(";"); var value = localizedAlias.SafeGet(i).Trim(); if (value.HasValue()) { _localizedEntityService.SaveLocalizedValue(sao, x => x.Alias, value, localized.LanguageId); } } } catch (Exception) { // TODO: what? } } return(true); }
/// <summary> /// Inserts a specification attribute option /// </summary> /// <param name="specificationAttributeOption">The specification attribute option</param> public virtual void InsertSpecificationAttributeOption(SpecificationAttributeOption specificationAttributeOption) { if (specificationAttributeOption == null) { throw new ArgumentNullException("specificationAttributeOption"); } _specificationAttributeOptionRepository.Insert(specificationAttributeOption); //_unitOfWork.Commit(); }
/// <returns>A task that represents the asynchronous operation</returns> protected virtual async Task UpdateOptionLocalesAsync(SpecificationAttributeOption specificationAttributeOption, SpecificationAttributeOptionModel model) { foreach (var localized in model.Locales) { await _localizedEntityService.SaveLocalizedValueAsync(specificationAttributeOption, x => x.Name, localized.Name, localized.LanguageId); } }
public static SpecificationAttributeOptionCustomValueMap FindSpecificationAttributeOptionWithCustomValue(string specificationAttributeName, string specificationAttributeOptionName) { SpecificationAttribute specificationAttribute = specificationAttributes .Where(sa => sa.Name == specificationAttributeName).FirstOrDefault(); SpecificationAttributeOptionCustomValueMap specificationAttributeOptionCustomValueMap = null; if (!string.IsNullOrEmpty(specificationAttributeOptionName)) { if (specificationAttribute.DisplayOrder == 0) { SpecificationAttributeOption specificationAttributeOption = specificationAttributeOptions .Where(sao => sao.SpecificationAttributeId == specificationAttribute.Id && sao.Name == specificationAttributeName).FirstOrDefault(); if (specificationAttributeOption == null) { specificationAttributeOption = new SpecificationAttributeOption() { Name = specificationAttributeName ?? "", SpecificationAttributeId = specificationAttribute.Id, DisplayOrder = 0 }; specificationAttributeOptions.Add(specificationAttributeOption); } specificationAttributeOptionCustomValueMap = new SpecificationAttributeOptionCustomValueMap() { specificationAttributeOption = specificationAttributeOption, specificationAttributeOptionCustomValue = specificationAttributeOptionName }; } else { SpecificationAttributeOption specificationAttributeOption = specificationAttributeOptions .Where(sao => sao.SpecificationAttributeId == specificationAttribute.Id && sao.Name == specificationAttributeOptionName).FirstOrDefault(); if (specificationAttributeOption == null) { specificationAttributeOption = new SpecificationAttributeOption() { Name = specificationAttributeOptionName ?? "", SpecificationAttributeId = specificationAttribute.Id, DisplayOrder = 0 }; specificationAttributeOptions.Add(specificationAttributeOption); } specificationAttributeOptionCustomValueMap = new SpecificationAttributeOptionCustomValueMap() { specificationAttributeOption = specificationAttributeOption, specificationAttributeOptionCustomValue = null }; } } return(specificationAttributeOptionCustomValueMap); }
protected void OnSpecificationAttributeOptionsDeleting(object sender, GridViewDeleteEventArgs e) { int saoId = (int)grdSpecificationAttributeOptions.DataKeys[e.RowIndex]["SpecificationAttributeOptionId"]; SpecificationAttributeOption sao = SpecificationAttributeManager.GetSpecificationAttributeOptionById(saoId, 0); if (sao != null) { SpecificationAttributeManager.DeleteSpecificationAttributeOption(sao.SpecificationAttributeOptionId); BindData(); } }
public async Task <IHttpActionResult> Delete(int id) { SpecificationAttributeOption entity = await SpecificationAttributeOptionService.FindOneAsync(id); if (entity == null) { return(NotFound()); } await SpecificationAttributeOptionService.DeleteAsync(entity); return(Ok(entity.ToModel())); }
public virtual void InsertSpecificationAttributeOption(SpecificationAttributeOption specificationAttributeOption) { if (specificationAttributeOption == null) { throw new ArgumentNullException("specificationAttributeOption"); } _specificationAttributeOptionRepository.Insert(specificationAttributeOption); //event notification _eventPublisher.EntityInserted(specificationAttributeOption); }
/// <summary> /// Updates the specification attribute /// </summary> /// <param name="specificationAttributeOption">The specification attribute option</param> public virtual void UpdateSpecificationAttributeOption(SpecificationAttributeOption specificationAttributeOption) { if (specificationAttributeOption == null) { throw new ArgumentNullException(nameof(specificationAttributeOption)); } _specificationAttributeOptionRepository.Update(specificationAttributeOption); //event notification _eventPublisher.EntityUpdated(specificationAttributeOption); }
protected void OnSpecificationAttributeOptionsDeleting(object sender, GridViewDeleteEventArgs e) { int saoID = (int)grdSpecificationAttributeOptions.DataKeys[e.RowIndex]["SpecificationAttributeOptionID"]; SpecificationAttributeOption sao = SpecificationAttributeManager.GetSpecificationAttributeOptionByID(saoID); if (sao != null) { SpecificationAttributeManager.DeleteSpecificationAttributeOption(sao.SpecificationAttributeOptionID); string paletteFolderPath = Server.MapPath("~/images/palette/"); ColorManager.DeleteColor(sao.Name, paletteFolderPath); BindData(); } }
protected void SaveLocalizableContent(SpecificationAttributeOption sao) { if (sao == null) { return; } if (!this.HasLocalizableContent) { return; } foreach (RepeaterItem item in rptrLanguageDivs.Items) { if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) { var txtNewLocalizedOptionName = (TextBox)item.FindControl("txtNewLocalizedOptionName"); var lblLanguageId = (Label)item.FindControl("lblLanguageId"); int languageId = int.Parse(lblLanguageId.Text); string name = txtNewLocalizedOptionName.Text; bool allFieldsAreEmpty = string.IsNullOrEmpty(name); var content = this.SpecificationAttributeService.GetSpecificationAttributeOptionLocalizedBySpecificationAttributeOptionIdAndLanguageId(sao.SpecificationAttributeOptionId, languageId); if (content == null) { if (!allFieldsAreEmpty && languageId > 0) { //only insert if one of the fields are filled out (avoid too many empty records in db...) content = new SpecificationAttributeOptionLocalized() { SpecificationAttributeOptionId = sao.SpecificationAttributeOptionId, LanguageId = languageId, Name = name }; this.SpecificationAttributeService.InsertSpecificationAttributeOptionLocalized(content); } } else { if (languageId > 0) { content.LanguageId = languageId; content.Name = name; this.SpecificationAttributeService.UpdateSpecificationAttributeOptionLocalized(content); } } } } }
/// <summary> /// Updates the specification attribute /// </summary> /// <param name="specificationAttributeOption">The specification attribute option</param> public virtual void UpdateSpecificationAttributeOption(SpecificationAttributeOption specificationAttributeOption) { if (specificationAttributeOption == null) { throw new ArgumentNullException(nameof(specificationAttributeOption)); } _specificationAttributeOptionRepository.Update(specificationAttributeOption); _cacheManager.RemoveByPrefix(NopCatalogDefaults.ProductSpecificationAttributePrefixCacheKey); //event notification _eventPublisher.EntityUpdated(specificationAttributeOption); }
/// <summary> /// Inserts a specification attribute option /// </summary> /// <param name="specificationAttributeOption">The specification attribute option</param> public virtual void InsertSpecificationAttributeOption(SpecificationAttributeOption specificationAttributeOption) { if (specificationAttributeOption == null) { throw new ArgumentNullException(nameof(specificationAttributeOption)); } _specificationAttributeOptionRepository.Insert(specificationAttributeOption); _cacheManager.RemoveByPattern(GSCatalogDefaults.ProductSpecificationAttributePatternCacheKey); //event notification _eventPublisher.EntityInserted(specificationAttributeOption); }
/// <summary> /// Updates the specification attribute /// </summary> /// <param name="specificationAttributeOption">The specification attribute option</param> public virtual void UpdateSpecificationAttributeOption(SpecificationAttributeOption specificationAttributeOption) { if (specificationAttributeOption == null) { throw new ArgumentNullException("specificationAttributeOption"); } _specificationAttributeOptionRepository.Update(specificationAttributeOption); _cacheManager.RemoveByPattern(PRODUCTSPECIFICATIONATTRIBUTE_PATTERN_KEY); //event notification _eventPublisher.EntityUpdated(specificationAttributeOption); }
/// <summary> /// Updates the specification attribute /// </summary> /// <param name="specificationAttributeOption">The specification attribute option</param> public virtual void UpdateSpecificationAttributeOption(SpecificationAttributeOption specificationAttributeOption) { if (specificationAttributeOption == null) { throw new ArgumentNullException("specificationAttributeOption"); } _specificationAttributeOptionRepository.Update(specificationAttributeOption); _cacheManager.GetCache(CACHE_NAME_PRODUCTSPECIFICATIONATTRIBUTE).Clear(); //event notification //_eventPublisher.EntityUpdated(specificationAttributeOption); }
protected virtual void UpdateLocalesSpecificationAttributeOption(SpecificationAttributeOption specificationAttributeOption, List <LocalizedNameDto> localizedNameDto) { if (localizedNameDto == null) { return; } foreach (var localized in localizedNameDto) { _localizedEntityService.SaveLocalizedValue(specificationAttributeOption, x => x.Name, localized.LocalizedName, localized.LanguageId.Value); } }