using System.Collections.Generic; using System.Text; namespace Repository { public class Query { public Query() { } public Query(string proc, string flag = null, Dictionary param = null) { this.Procedure = proc; this.Flag = flag; this.Params = param; } public string Procedure { get; set; } public string Flag { get; set; } public Dictionary Params { get; set; } public override string ToString() { var sql = new StringBuilder("EXEC " + Procedure); if (!string.IsNullOrEmpty(Flag)) { sql.AppendFormat(" @Flag = '{0}'", Flag); if (Params.Count > 0) { sql.Append(", "); } } if (Params.Count > 0) { var st = new List(); foreach (var v in Params) { st.Add(string.Format("{0} = {1}", v.Key, v.Value)); } sql.Append(string.Join(",", st)); } return sql.ToString(); } } }