コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
            }
        }
コード例 #3
0
        /// <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);
                        }
                    }
                }
            }
        }