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); } }
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; } }
/// <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); }
/// <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)); }