コード例 #1
0
        /// <summary>
        /// Set setting value
        /// </summary>
        /// <typeparam name="T">Type</typeparam>
        /// <param name="key">Key</param>
        /// <param name="value">Value</param>
        /// <param name="clearCache">A value indicating whether to clear cache after setting update</param>
        public virtual void SetSetting <T>(string key, T value, bool clearCache = true)
        {
            if (key == null)
            {
                throw new ArgumentNullException("key");
            }
            key = key.Trim().ToLowerInvariant();
            string valueStr = CommonHelper.GetCustomTypeConverter(typeof(T)).ConvertToInvariantString(value);

            var allSettings       = GetAllSettingsCached();
            var settingForCaching = allSettings.ContainsKey(key) ?
                                    allSettings[key].FirstOrDefault() : null;

            if (settingForCaching != null)
            {
                //update
                var setting = _settingRepository.Get(settingForCaching.Id);
                setting.Value = valueStr;
            }
            else
            {
                //insert
                var setting = new SettingRecord()
                {
                    Name  = key,
                    Value = valueStr
                };

                _settingRepository.Create(setting);
            }
        }
コード例 #2
0
 internal static void Parse(this SettingRecord _this, XmlNode node)
 {
     _this.PortalUsername    = node.ChildNodes.GetTextValue(Xml.SettingRecord.PortalUsername, Xml.Attributes.Value);
     _this.PortalPassword    = node.ChildNodes.GetTextValue(Xml.SettingRecord.PortalPassword, Xml.Attributes.Value);
     _this.SendCrashDetails  = node.ChildNodes.GetBoolValue(Xml.SettingRecord.SendCrashDetails, Xml.Attributes.Value);
     _this.PluginsRepository = node.ChildNodes.GetTextValue(Xml.SettingRecord.PluginsRepository, Xml.Attributes.Value);
     _this.AlignVersions     = node.ChildNodes.GetBoolValue(Xml.SettingRecord.AlignVersions, Xml.Attributes.Value);
 }
コード例 #3
0
        public void SetExpireMinutes(int expireSeconds)
        {
            var settingRecord = SettingRecords.SingleOrDefault(x => x.BotInstanceId == BotInstanceId);

            if (settingRecord == null)
            {
                settingRecord = new SettingRecord
                {
                    BotInstanceId  = BotInstanceId,
                    WelcomeMessage = "??Default Welcome Message??",
                    ExpireMinutes  = expireSeconds
                };
                SettingRecords.Add(settingRecord);
            }
            else
            {
                settingRecord.ExpireMinutes = expireSeconds;
            }
        }
コード例 #4
0
        public void SetWelcomeMessage(string welcomeMessage)
        {
            var settingRecord = SettingRecords.SingleOrDefault(x => x.BotInstanceId == BotInstanceId);

            if (settingRecord == null)
            {
                settingRecord = new SettingRecord
                {
                    BotInstanceId  = BotInstanceId,
                    WelcomeMessage = welcomeMessage,
                    ExpireMinutes  = 2
                };
                SettingRecords.Add(settingRecord);
            }
            else
            {
                settingRecord.WelcomeMessage = welcomeMessage;
            }
        }