Beispiel #1
0
        /// <summary>
        /// 保存指定字典对应的默认设置。如果与默认的设置相同则不保存
        /// </summary>
        /// <param name="wordbookName"></param>
        /// <param name="matchType"></param>
        /// <param name="isDynamic"></param>
        internal static void WriteSetting(string wordbookName, ShowListMatchType matchType, bool isDynamic)
        {
            if (String.IsNullOrEmpty(CurrentUserId) || String.IsNullOrEmpty(wordbookName))
            {
                return;
            }

            if ((matchType == DefaultMatchSetting.MatchType) && (isDynamic == DefaultMatchSetting.IsDynamic))
            {
                RemoveSetting(wordbookName);
            }
            else
            {
                // 缓存中不存在,则添加缓存,插入到注册表
                if (!CurrentUserSetting.ContainsKey(wordbookName))
                {
                    CurrentUserSetting.Add(wordbookName, new ShowListMatchTypeSetting(matchType, isDynamic));
                    WriteSettingToReg(wordbookName, CurrentUserSetting[wordbookName]);
                }
                // 检查与缓存中的数据是否一致,不一致时修改缓存,再更新注册表
                else
                {
                    if ((CurrentUserSetting[wordbookName].IsDynamic != isDynamic) ||
                        (CurrentUserSetting[wordbookName].MatchType != matchType))
                    {
                        CurrentUserSetting[wordbookName].IsDynamic = isDynamic;
                        CurrentUserSetting[wordbookName].MatchType = matchType;
                        WriteSettingToReg(wordbookName, CurrentUserSetting[wordbookName]);
                    }
                }
            }
        }
Beispiel #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="value"></param>
 public ShowListMatchTypeSetting(string value)
     : this()
 {
     if (!String.IsNullOrEmpty(value))
     {
         // 拆分保存值
         string[] settings = value.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
         if (settings.Length == 2)
         {
             _matchType = (ShowListMatchType)Enum.Parse(typeof(ShowListMatchType), settings[0]);
             _isDynamic = Convert.ToBoolean(settings[1]);
             return;
         }
     }
 }
Beispiel #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="matchType"></param>
 /// <param name="isDynamic"></param>
 public ShowListMatchTypeSetting(ShowListMatchType matchType, bool isDynamic)
 {
     _matchType = matchType;
     _isDynamic = isDynamic;
 }