Exemple #1
0
        protected virtual void InstallLanguagePack <TLanguagePack>() where TLanguagePack : ILanguagePack, new()
        {
            var toInsert = new HashSet <LocalizableString>();

            var languagePack = new TLanguagePack();

            foreach (var localizedString in languagePack.LocalizedStrings)
            {
                toInsert.Add(new LocalizableString
                {
                    Id          = Guid.NewGuid(),
                    CultureCode = languagePack.CultureCode,
                    TextKey     = localizedString.Key,
                    TextValue   = localizedString.Value
                });
            }

            var localizableStringRepository = EngineContext.Current.Resolve <IRepository <LocalizableString> >();

            localizableStringRepository.Insert(toInsert);

            var cacheManager = EngineContext.Current.Resolve <ICacheManager>();

            cacheManager.RemoveByPattern(KoreConstants.CacheKeys.LocalizableStringsPatternFormat);
        }
Exemple #2
0
        protected virtual void UninstallLanguagePack <TLanguagePack>() where TLanguagePack : ILanguagePack, new()
        {
            var languagePack = new TLanguagePack();

            var distinctKeys = languagePack
                               .LocalizedStrings.Select(y => y.Key)
                               .Distinct();

            var localizableStringRepository = EngineContext.Current.Resolve <IRepository <LocalizableString> >();

            var toDelete = localizableStringRepository.Find(x => distinctKeys.Contains(x.TextKey));

            localizableStringRepository.Delete(toDelete);

            var cacheManager = EngineContext.Current.Resolve <ICacheManager>();

            cacheManager.RemoveByPattern(KoreConstants.CacheKeys.LocalizableStringsPatternFormat);
        }