コード例 #1
0
        protected override void InitializePropertiesForViewing()
        {
            using (var _appConfigRepository = _appConfigRepositoryFactory.GetRepositoryInstance())
            {
                SeoKeywords =
                    _appConfigRepository.SeoUrlKeywords.Where(
                        keyword =>
                        keyword.KeywordValue.Equals(InnerItem.Code) && keyword.KeywordType.Equals((int)SeoUrlKeywordTypes.Item))
                    .ToList();
            }

            InnerItemCatalogLanguages.ForEach(locale =>
            {
                if (!SeoKeywords.Any(keyword => keyword.Language.Equals(locale)))
                {
                    var newSeoKeyword = new SeoUrlKeyword {
                        Language = locale, IsActive = true, KeywordType = (int)SeoUrlKeywordTypes.Item, KeywordValue = InnerItem.Code, Created = DateTime.UtcNow
                    };
                    SeoKeywords.Add(newSeoKeyword);
                }
            });

            // filter values by locale
            SeoLocalesFilterCommand.Execute(InnerItem.Catalog.DefaultLanguage);
        }
コード例 #2
0
        public void SelectItem(object selectedObj)
        {
            var selectedItem = (CatalogLanguageDisplay)selectedObj;
            var item         = selectedItem.Language;

            InnerItem.CatalogLanguages.Add(item);
            InnerItemCatalogLanguages.Add(selectedItem);
        }
コード例 #3
0
        public void UnSelectItem(object selectedObj)
        {
            var selectedItem = selectedObj as CatalogLanguageDisplay;

            // prevent removing default language
            if (selectedItem != null && !selectedItem.Language.Language.Equals(InnerItem.DefaultLanguage, StringComparison.InvariantCultureIgnoreCase))
            {
                var item = InnerItem.CatalogLanguages.First(x => x.Language.Equals(selectedItem.Language.Language, StringComparison.InvariantCultureIgnoreCase));
                InnerItem.CatalogLanguages.Remove(item);
                InnerItemCatalogLanguages.Remove(selectedItem);
            }
        }
        protected override void InitializePropertiesForViewing()
        {
            using (var _appConfigRepository = _appConfigRepositoryFactory.GetRepositoryInstance())
            {
                SeoKeywords =
                    _appConfigRepository.SeoUrlKeywords.Where(
                        keyword =>
                        keyword.KeywordValue.Equals(InnerItem.Code) && keyword.KeywordType.Equals((int)SeoUrlKeywordTypes.Category))
                    .ToList();
            }

            var innerItemCatalog = _parentCatalog as catalogModel.Catalog;

            if (innerItemCatalog == null)
            {
                using (var storeRepository = _storeRepositoryFactory.GetRepositoryInstance())
                {
                    var languages =
                        storeRepository.Stores.Where(store => store.Catalog == _parentCatalog.CatalogId)
                        .Expand(store => store.Languages).ToList();

                    var customComparer = new PropertyComparer <StoreLanguage>("LanguageCode");
                    var lang           = languages.SelectMany(x => x.Languages).Distinct(customComparer);

                    InnerItemCatalogLanguages = new List <string>();
                    if (lang.Any())
                    {
                        foreach (var l in lang)
                        {
                            InnerItemCatalogLanguages.Add(l.LanguageCode);
                        }
                    }
                }
            }

            InnerItemCatalogLanguages.ForEach(locale =>
            {
                if (!SeoKeywords.Any(keyword => keyword.Language.Equals(locale)))
                {
                    SeoKeywords.Add(CreateSeoUrlKeyword(locale));
                }
            });

            // filter values by locale
            SeoLocalesFilterCommand.Execute(_parentCatalog.DefaultLanguage);
        }
コード例 #5
0
 public void UnSelectAllItems(System.Collections.IList currentListItems)
 {
     InnerItemCatalogLanguages.ToList().ForEach(UnSelectItem);
 }