public CmdQuery(string commandText) : base(commandText) { if (!string.IsNullOrEmpty(_part2)) { var parameter = new CmdParameter(_part2, this); } DataSource = DataSourceManager.CreateDataSource(DataSourceManager.GetInitializerTypeByName(CmdInitializer.Name), CmdInitializerProperties.ToDictionary( property => DataSourceManager.GetInitializerPropertyNameByCmd(property.Name), property => this[property.Name])); DataSource.Initialize(); }
public CmdParameter(string commandText, ICommandWithParameters command) : base(commandText) { string part1; string part2; if (CommandExists) { GetParts(_part2, out part1, out part2); } else { throw new Exception(string.Format("Неизвестный параметр: {0}", _part2)); } if (IsInitializer) { Value = string.Empty; } else { while (!IsInitializer && part1.StartsWith("/"))//Смотрим все флаги, сомнительное решение но пока так... { switch (part1) { case "/c"://Искать в секции ConnectionString IsConnectionString = true; break; case "/a"://Искать в секции AppSettings IsAppSetting = true; break; default: throw new Exception(string.Format("Неизвестный флаг: {0}", part1)); } GetParts(part2, out part1, out part2); } _part2 = part2; Value = part1; } command.Parameters.Add(this); if (!string.IsNullOrEmpty(_part2)) { var parameter = new CmdParameter(_part2, command); } }