You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.2 KiB
47 lines
1.2 KiB
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace Repository
|
|
{
|
|
public class Query
|
|
{
|
|
public Query()
|
|
{
|
|
}
|
|
|
|
public Query(string proc, string flag = null, Dictionary<string, string> param = null)
|
|
{
|
|
this.Procedure = proc;
|
|
this.Flag = flag;
|
|
this.Params = param;
|
|
}
|
|
|
|
public string Procedure { get; set; }
|
|
public string Flag { get; set; }
|
|
public Dictionary<string, string> 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<string>();
|
|
foreach (var v in Params)
|
|
{
|
|
st.Add(string.Format("{0} = {1}", v.Key, v.Value));
|
|
}
|
|
|
|
sql.Append(string.Join(",", st));
|
|
}
|
|
return sql.ToString();
|
|
}
|
|
}
|
|
}
|