Esempio n. 1
0
        public static DateTime GetSettingAsDateTime(KrakenConfigLocation settingLocation, string settingKey)
        {
            switch (settingLocation)
            {
            case KrakenConfigLocation.AppSettings:
                return(GetAppSettingAsDateTime(settingKey));

            //case KrakenConfigLocation.SystemSetting:
            //    return GetDatabaseSettingAsDateTime(settingKey);
            default:
                throw KrakenException.Create("SettingLocation {0} not supported", settingLocation);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Helper to determine whether a feature is enabled or not yet.
        /// Enables deploys of in progress code when other components aren't ready yet - ie: Converga
        /// </summary>
        /// <remarks>
        /// Use some caching to prevent repeated database hits
        /// </remarks>
        public static bool IsFeatureActivated(KrakenConfigLocation settingLocation, string settingKey)
        {
            bool returnValue;

            lock (_featureActivationCache)
            {
                if (_featureActivationCache.ContainsKey(settingKey))
                {
                    returnValue = _featureActivationCache[settingKey];
                }
                else
                {
                    returnValue = GetDateFeatureActivated(settingLocation, settingKey) < SystemDate.Now;
                    _featureActivationCache.Add(settingKey, returnValue);
                    Log.Trace(m => m("Feature activation {0}={1}", settingKey, returnValue));
                }
            }
            return(returnValue);
        }
Esempio n. 3
0
        /// <summary>
        /// Assumes the settingKey is in SystemSetting and
        /// </summary>
        public static DateTime GetDateFeatureActivated(KrakenConfigLocation settingLocation, string settingKey)
        {
            DateTime returnValue = DateTime.MaxValue;

            lock (_featureActivationDateCache)
            {
                if (_featureActivationDateCache.ContainsKey(settingKey))
                {
                    returnValue = _featureActivationDateCache[settingKey];
                }
                else
                {
                    returnValue = GetSettingAsDateTime(settingLocation, settingKey);
                    _featureActivationDateCache.Add(settingKey, returnValue);
                    Log.Trace(m => m("Feature activation (Date) {0}={1:yyyy-MMM-dd HH:mm:ss}", settingKey, returnValue));
                }
            }
            return(returnValue);
        }