Пример #1
0
        public object GetEvnVal(EnvValName envValText)
        {
            var    keyValue  = envValText.GetName();
            string keyParams = envValText.GetArgs();

            if (_dicEvnVal.ContainsKey(keyValue))
            {
                object objValue = _dicEvnVal[keyValue];
                if (typeof(MyEnvFunc) == objValue.GetType())
                {
                    return(((MyEnvFunc)objValue)(keyParams));
                }
                else
                {
                    return(objValue);
                }
            }
            else
            {
                return(null);
            }
        }
        public void Parse(SqlCommand sqlCommand)
        {

            IList<Replacement> lsReplacement = new List<Replacement>();

            foreach (Match match in RegexPattern.CustomParameterPattern.Matches(sqlCommand.Text))
            {
                string envParam = match.Groups["EnvValParam"].Value.Trim();

                if (string.IsNullOrEmpty(envParam)) continue;

                EnvValName envValText = new EnvValName(envParam);
                if (_hasArgs)
                {
                    if (!envValText.HasArgs()) continue;
                }
                else
                {
                    if (envValText.HasArgs()) continue;
                }

                var envVal = EnvValRepository.Instance.GetEvnVal(envValText);

                if (!string.IsNullOrEmpty(envVal == null ? null : envVal.ToString()))
                {
                    lsReplacement.Add(new Replacement()
                    {
                        OldText = match.Value,
                        NewText = envVal.ToString()
                    });
                    continue;
                }
            }

            foreach (var replacement in lsReplacement)
            {
                sqlCommand.Text = sqlCommand.Text.Replace(replacement.OldText, replacement.NewText);
            }
        }
Пример #3
0
        public object GetEvnVal(EnvValName envValText)
        {

            var keyValue = envValText.GetName();
            string keyParams = envValText.GetArgs();

            if (_dicEvnVal.ContainsKey(keyValue))
            {
                object objValue = _dicEvnVal[keyValue];
                if (typeof(MyEnvFunc) == objValue.GetType())
                {
                    return ((MyEnvFunc)objValue)(keyParams);
                }
                else
                {
                    return objValue;
                }
            }
            else
            {
                return null;
            }
        }
Пример #4
0
        /// <summary>
        /// 获取环境变量
        /// </summary>
        /// <param name="key">格式如:datetime:yyyy-MM-dd</param>
        /// <returns></returns>
        public object GetEvnVal(string key)
        {
            var envValText = new EnvValName(key);

            return GetEvnVal(envValText);
        }
Пример #5
0
        /// <summary>
        /// 获取环境变量
        /// </summary>
        /// <param name="key">格式如:datetime:yyyy-MM-dd</param>
        /// <returns></returns>
        public object GetEvnVal(string key)
        {
            var envValText = new EnvValName(key);

            return(GetEvnVal(envValText));
        }