Пример #1
0
        /// <summary>
        ///     Save localized property of setting
        /// </summary>
        /// <typeparam name="T">Entity type</typeparam>
        /// <param name="settings">Settings</param>
        /// <param name="keySelector">Key selector</param>
        /// <param name="languageId">Language identifier</param>
        /// <param name="value">Localized value</param>
        /// <returns>Localized property</returns>
        public static void SaveLocalizedSetting <T>(this T settings,
                                                    Expression <Func <T, string> > keySelector, long languageId,
                                                    string value)
            where T : ISettings, new()
        {
            var settingService         = EngineContext.Current.Resolve <ISettingService>();
            var localizedEntityService = EngineContext.Current.Resolve <ILocalizedEntityService>();

            var key = SettingExtensions.GetSettingKey(settings, keySelector);

            var setting = settingService.GetSetting(key);

            if (setting == null)
            {
                return;
            }

            localizedEntityService.SaveLocalizedValue(setting, x => x.Value, value, languageId);
        }
Пример #2
0
        /// <summary>
        ///     Get localized property of setting
        /// </summary>
        /// <typeparam name="T">Entity type</typeparam>
        /// <param name="settings">Settings</param>
        /// <param name="keySelector">Key selector</param>
        /// <param name="languageId">Language identifier</param>
        /// <param name="storeId">Store identifier</param>
        /// <param name="returnDefaultValue">A value indicating whether to return default value (if localized is not found)</param>
        /// <param name="ensureTwoPublishedLanguages">
        ///     A value indicating whether to ensure that we have at least two published
        ///     languages; otherwise, load only default value
        /// </param>
        /// <returns>Localized property</returns>
        public static string GetLocalizedSetting <T>(this T settings,
                                                     Expression <Func <T, string> > keySelector, long languageId,
                                                     bool returnDefaultValue = true, bool ensureTwoPublishedLanguages = true)
            where T : ISettings, new()
        {
            var settingService = EngineContext.Current.Resolve <ISettingService>();

            var key = SettingExtensions.GetSettingKey(settings, keySelector);

            //we do not support localized settings per store (overridden store settings)
            var setting = settingService.GetSetting(key);

            if (setting == null)
            {
                return(null);
            }

            return(null);
            //return setting.GetLocalized(x => x.Value, languageId, returnDefaultValue, ensureTwoPublishedLanguages);
        }