private static SpecificationAttributeLocalized DBMapping(DBSpecificationAttributeLocalized dbItem) { if (dbItem == null) { return(null); } var item = new SpecificationAttributeLocalized(); item.SpecificationAttributeLocalizedId = dbItem.SpecificationAttributeLocalizedId; item.SpecificationAttributeId = dbItem.SpecificationAttributeId; item.LanguageId = dbItem.LanguageId; item.Name = dbItem.Name; return(item); }
/// <summary> /// Inserts a localized specification attribute /// </summary> /// <param name="specificationAttributeLocalized">Localized specification attribute</param> public void InsertSpecificationAttributeLocalized(SpecificationAttributeLocalized specificationAttributeLocalized) { if (specificationAttributeLocalized == null) { throw new ArgumentNullException("specificationAttributeLocalized"); } specificationAttributeLocalized.Name = CommonHelper.EnsureNotNull(specificationAttributeLocalized.Name); specificationAttributeLocalized.Name = CommonHelper.EnsureMaximumLength(specificationAttributeLocalized.Name, 100); _context.SpecificationAttributeLocalized.AddObject(specificationAttributeLocalized); _context.SaveChanges(); if (this.CacheEnabled) { _cacheManager.RemoveByPattern(SPECIFICATIONATTRIBUTE_PATTERN_KEY); _cacheManager.RemoveByPattern(SPECIFICATIONATTRIBUTEOPTION_PATTERN_KEY); _cacheManager.RemoveByPattern(PRODUCTSPECIFICATIONATTRIBUTE_PATTERN_KEY); } }
/// <summary> /// Update a localized specification attribute /// </summary> /// <param name="specificationAttributeLocalized">Localized specification attribute</param> public void UpdateSpecificationAttributeLocalized(SpecificationAttributeLocalized specificationAttributeLocalized) { if (specificationAttributeLocalized == null) { throw new ArgumentNullException("specificationAttributeLocalized"); } specificationAttributeLocalized.Name = CommonHelper.EnsureNotNull(specificationAttributeLocalized.Name); specificationAttributeLocalized.Name = CommonHelper.EnsureMaximumLength(specificationAttributeLocalized.Name, 100); bool allFieldsAreEmpty = string.IsNullOrEmpty(specificationAttributeLocalized.Name); if (!_context.IsAttached(specificationAttributeLocalized)) { _context.SpecificationAttributeLocalized.Attach(specificationAttributeLocalized); } if (allFieldsAreEmpty) { //delete if all fields are empty _context.DeleteObject(specificationAttributeLocalized); _context.SaveChanges(); } else { _context.SaveChanges(); } if (this.CacheEnabled) { _cacheManager.RemoveByPattern(SPECIFICATIONATTRIBUTE_PATTERN_KEY); _cacheManager.RemoveByPattern(SPECIFICATIONATTRIBUTEOPTION_PATTERN_KEY); _cacheManager.RemoveByPattern(PRODUCTSPECIFICATIONATTRIBUTE_PATTERN_KEY); } }
protected void SaveLocalizableContent(SpecificationAttribute specificationAttribute) { if (specificationAttribute == null) return; if (!this.HasLocalizableContent) return; foreach (RepeaterItem item in rptrLanguageDivs.Items) { if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) { var txtLocalizedName = (TextBox)item.FindControl("txtLocalizedName"); var lblLanguageId = (Label)item.FindControl("lblLanguageId"); int languageId = int.Parse(lblLanguageId.Text); string name = txtLocalizedName.Text; bool allFieldsAreEmpty = string.IsNullOrEmpty(name); var content = this.SpecificationAttributeService.GetSpecificationAttributeLocalizedBySpecificationAttributeIdAndLanguageId(specificationAttribute.SpecificationAttributeId, 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 SpecificationAttributeLocalized() { SpecificationAttributeId = specificationAttribute.SpecificationAttributeId, LanguageId = languageId, Name = name }; this.SpecificationAttributeService.InsertSpecificationAttributeLocalized(content); } } else { if (languageId > 0) { content.LanguageId = languageId; content.Name = name; this.SpecificationAttributeService.UpdateSpecificationAttributeLocalized(content); } } } } }