using System;
using System.Data;
using System.Text;
namespace Common
{
public class JsonHelp
{
private StringBuilder result = new StringBuilder();
private StringBuilder sb = new StringBuilder();
public string CreateComboboxJson(DataTable dt, int type)
{
StringBuilder stringBuilder = new StringBuilder();
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder stringBuilder2 = new StringBuilder();
stringBuilder2.Append("[");
if (type != 2)
{
stringBuilder2.Append("{ ");
stringBuilder2.Append(""id": ");
stringBuilder2.Append(-1 + ",");
stringBuilder2.Append(""text": ");
if (type == 1 || type == 3)
{
stringBuilder2.Append(""请选择"");
}
else
{
stringBuilder2.Append(""全部"");
}
DataRow[] array = dt.Select("IsDefault=1");
if ((type == 0 || array.Length == 0) && type != 3)
{
stringBuilder2.Append(","selected": ");
stringBuilder2.Append("true");
}
stringBuilder2.Append("},");
}
stringBuilder.Append(stringBuilder2.ToString());
for (int i = 0; i < dt.Rows.Count; i++)
{
if (i < dt.Rows.Count - 1)
{
stringBuilder.Append("{ ");
stringBuilder.Append(""id": ");
stringBuilder.Append(dt.Rows[i]["ID"] + ",");
stringBuilder.Append(""text": ");
stringBuilder.Append(""" + this.JsonCharFilter(dt.Rows[i]["name"].ToString()) + """);
if (dt.Rows[i]["IsDefault"].ToString() == "1" && type == 1)
{
stringBuilder.Append(","selected": ");
stringBuilder.Append("true");
}
stringBuilder.Append("},");
}
if (i == dt.Rows.Count - 1)
{
stringBuilder.Append("{ ");
stringBuilder.Append(""id": ");
stringBuilder.Append(dt.Rows[i]["ID"] + ",");
stringBuilder.Append(""text": ");
stringBuilder.Append(""" + this.JsonCharFilter(dt.Rows[i]["name"].ToString()) + """);
if (dt.Rows[i]["IsDefault"].ToString() == "1" && type == 1)
{
stringBuilder.Append(","selected": ");
stringBuilder.Append("true");
}
stringBuilder.Append("}");
}
}
stringBuilder.Append("]");
return stringBuilder.ToString();
}
stringBuilder.Append("[");
stringBuilder.Append("{ ");
stringBuilder.Append(""id": ");
stringBuilder.Append(-1 + ",");
stringBuilder.Append(""text": ");
stringBuilder.Append(""请选择"");
stringBuilder.Append("}");
stringBuilder.Append("]");
return stringBuilder.ToString();
}
public string ComboboxJson(DataTable dt, int warehouseid, int type)
{
StringBuilder stringBuilder = new StringBuilder();
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder stringBuilder2 = new StringBuilder();
stringBuilder2.Append("[");
stringBuilder.Append(stringBuilder2.ToString());
for (int i = 0; i < dt.Rows.Count; i++)
{
if (i < dt.Rows.Count - 1)
{
stringBuilder.Append("{ ");
stringBuilder.Append(""id": ");
stringBuilder.Append(dt.Rows[i]["ID"] + ",");
stringBuilder.Append(""text": ");
stringBuilder.Append(""" + this.JsonCharFilter(dt.Rows[i]["name"].ToString()) + """);
if ((dt.Rows[i]["name"].ToString() == "人民币" || dt.Rows[i]["ID"].ToString() == "3") && warehouseid == 1 && type == 1)
{
stringBuilder.Append(","selected": ");
stringBuilder.Append("true");
}
if ((dt.Rows[i]["name"].ToString() == "港币" || dt.Rows[i]["ID"].ToString() == "2") && warehouseid == 2 && type == 1)
{
stringBuilder.Append(","selected": ");
stringBuilder.Append("true");
}
stringBuilder.Append("},");
}
if (i == dt.Rows.Count - 1)
{
stringBuilder.Append("{ ");
stringBuilder.Append(""id": ");
stringBuilder.Append(dt.Rows[i]["ID"] + ",");
stringBuilder.Append(""text": ");
stringBuilder.Append(""" + this.JsonCharFilter(dt.Rows[i]["name"].ToString()) + """);
if ((dt.Rows[i]["name"].ToString() == "人民币" || dt.Rows[i]["ID"].ToString() == "3") && warehouseid == 1 && type == 1)
{
stringBuilder.Append(","selected": ");
stringBuilder.Append("true");
}
if ((dt.Rows[i]["name"].ToString() == "港币" || dt.Rows[i]["ID"].ToString() == "2") && warehouseid == 2 && type == 1)
{
stringBuilder.Append(","selected": ");
stringBuilder.Append("true");
}
stringBuilder.Append("}");
}
}
stringBuilder.Append("]");
return stringBuilder.ToString();
}
stringBuilder.Append("[");
stringBuilder.Append("{ ");
stringBuilder.Append(""id": ");
stringBuilder.Append(-1 + ",");
stringBuilder.Append(""text": ");
stringBuilder.Append(""请选择"");
stringBuilder.Append("}");
stringBuilder.Append("]");
return stringBuilder.ToString();
}
public string CreateComboboxJson(DataTable dt)
{
StringBuilder stringBuilder = new StringBuilder();
if (dt != null && dt.Rows.Count > 0)
{
stringBuilder.Append("[ ");
for (int i = 0; i < dt.Rows.Count; i++)
{
if (i < dt.Rows.Count - 1)
{
stringBuilder.Append("{ ");
stringBuilder.Append(""id": ");
stringBuilder.Append(dt.Rows[i]["ID"] + ",");
stringBuilder.Append(""name": ");
stringBuilder.Append(""" + this.JsonCharFilter(dt.Rows[i]["name"].ToString()) + """);
stringBuilder.Append("},");
}
if (i == dt.Rows.Count - 1)
{
stringBuilder.Append("{ ");
stringBuilder.Append(""id": ");
stringBuilder.Append(dt.Rows[i]["ID"] + ",");
stringBuilder.Append(""name": ");
stringBuilder.Append(""" + this.JsonCharFilter(dt.Rows[i]["name"].ToString()) + """);
stringBuilder.Append("}");
}
}
stringBuilder.Append("]");
return stringBuilder.ToString();
}
stringBuilder.Append("[");
stringBuilder.Append("{ ");
stringBuilder.Append(""id": ");
stringBuilder.Append(-1 + ",");
stringBuilder.Append(""text": ");
stringBuilder.Append(""请选择"");
stringBuilder.Append("}");
stringBuilder.Append("]");
return stringBuilder.ToString();
}
public string GetTreeJsonByTable(DataTable tabel, string idCol, string txtCol, string rela, object pId, int type)
{
if (tabel.Rows.Count > 0)
{
this.sb.Append("[");
if (pId.ToString() == "0" && type == 1)
{
this.sb.Append("{"id":"0","text":"根目录","state":"open"");
this.sb.Append("},");
}
string filterExpression = string.Format("{0}='{1}'", rela, pId);
DataRow[] array = tabel.Select(filterExpression);
if (array.Length > 0)
{
DataRow[] array2 = array;
for (int i = 0; i < array2.Length; i++)
{
DataRow dataRow = array2[i];
this.sb.Append(string.Concat(new object[]
{
"{"id":"",
dataRow[idCol],
"","text":"",
dataRow[txtCol],
"","state":"open""
}));
if (tabel.Select(string.Format("{0}='{1}'", rela, dataRow[idCol])).Length > 0)
{
this.sb.Append(","children":");
this.GetTreeJsonByTable(tabel, idCol, txtCol, rela, dataRow[idCol], type);
this.result.Append(this.sb.ToString());
}
this.result.Append(this.sb.ToString());
this.sb.Append("},");
}
this.sb = this.sb.Remove(this.sb.Length - 1, 1);
}
this.sb.Append("]");
this.result.Append(this.sb.ToString());
}
return this.sb.ToString();
}
public string GetAdvancedRuleTreeJsonByTable(DataTable tabel, string idCol, string txtCol, string rela, object pId)
{
if (tabel.Rows.Count > 0)
{
this.sb.Append("[");
if (pId.ToString() == "0")
{
this.sb.Append("{"id":"0","text":"最高权限","state":"open"");
this.sb.Append("},");
}
string filterExpression = string.Format("{0}='{1}'", rela, pId);
DataRow[] array = tabel.Select(filterExpression);
if (array.Length > 0)
{
DataRow[] array2 = array;
for (int i = 0; i < array2.Length; i++)
{
DataRow dataRow = array2[i];
this.sb.Append(string.Concat(new object[]
{
"{"id":"",
dataRow[idCol],
"","text":"",
dataRow[txtCol],
"","state":"open""
}));
if (tabel.Select(string.Format("{0}='{1}'", rela, dataRow[idCol])).Length > 0)
{
this.sb.Append(","children":");
this.GetAdvancedRuleTreeJsonByTable(tabel, idCol, txtCol, rela, dataRow[idCol]);
this.result.Append(this.sb.ToString());
}
this.result.Append(this.sb.ToString());
this.sb.Append("},");
}
this.sb = this.sb.Remove(this.sb.Length - 1, 1);
}
this.sb.Append("]");
this.result.Append(this.sb.ToString());
}
else
{
if (pId.ToString() == "0")
{
this.sb.Append("[");
this.sb.Append("{"id":"0","text":"最高权限","state":"open"");
this.sb.Append("}");
this.sb.Append("]");
}
}
return this.sb.ToString();
}
public string GetJsonTreeByTable(DataTable dt, string where)
{
StringBuilder stringBuilder = new StringBuilder();
if (dt.Rows.Count > 0)
{
DataRow[] array = dt.Select(where, " Sequence asc");
stringBuilder.Append("[");
for (int i = 0; i < array.Length; i++)
{
stringBuilder.Append("{ ");
int num = Convert.ToInt32(array[i]["id"].ToString());
string text = array[i]["URL"].ToString();
if (!string.IsNullOrEmpty(text) && text.IndexOf('?') != -1)
{
text = text + "&pagesid=" + num;
}
else
{
if (!string.IsNullOrEmpty(text) && text.IndexOf('?') == -1)
{
text = text + "?&pagesid=" + num;
}
}
stringBuilder.Append(""attributes": {");
stringBuilder.Append(""url": "" + text + "",");
stringBuilder.Append(""isreloadid":"" + array[i]["isreloadid"].ToString() + """);
stringBuilder.Append("},");
stringBuilder.Append(""checked": false, ");
stringBuilder.Append(""iconCls": "ext-icon-medal_gold_3" ,");
if (array[i]["fatherid"].ToString() == "0")
{
stringBuilder.Append(""id": "" + array[i]["ID"].ToString() + "" ,");
}
else
{
stringBuilder.Append(""id": "" + array[i]["ID"].ToString() + "" ,");
stringBuilder.Append(""pid": "" + array[i]["fatherid"].ToString() + "" ,");
}
stringBuilder.Append(""state": "open", ");
stringBuilder.Append(""text": "" + array[i]["Name"].ToString().Replace(""", "\"") + "" ");
if (i == array.Length - 1)
{
stringBuilder.Append("}");
}
else
{
stringBuilder.Append("},");
}
}
stringBuilder.Append("]");
}
else
{
stringBuilder.Append("[]");
}
return stringBuilder.ToString();
}
public string GetFatherNameByFatherID(DataTable dt, string fatherid)
{
DataRow[] array = dt.Select("id=" + fatherid);
if (array.Length > 0)
{
return array[0]["name"].ToString();
}
return "";
}
public string GetTreeList(DataTable dt)
{
DataRow[] array = dt.Select(" fatherid=0");
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("{"total":" + dt.Rows.Count + ","rows":");
stringBuilder.Append("[ ");
if (array.Length > 0)
{
for (int i = 0; i < array.Length; i++)
{
stringBuilder.Append("{ ");
int num = Convert.ToInt32(array[i]["fatherid"].ToString());
int num2 = Convert.ToInt32(array[i]["pagetypeid"].ToString());
int num3 = Convert.ToInt32(array[i]["isreloadid"].ToString());
stringBuilder.Append(""id": "" + array[i]["ID"].ToString() + "" ,");
stringBuilder.Append(""name": "" + array[i]["Name"].ToString().Replace(""", "\"") + "", ");
stringBuilder.Append(""seq": "" + array[i]["Sequence"].ToString() + "", ");
stringBuilder.Append(""url": "" + array[i]["url"].ToString().Replace(""", "\"") + "" ,");
stringBuilder.Append(""buttonid": "" + array[i]["buttonid"].ToString() + "" ,");
stringBuilder.Append(""fatherid": "" + num + "" ,");
stringBuilder.Append(""iconCls": "icon-ok" ,");
stringBuilder.Append(""pagetypename": "" + array[i]["pagetypename"].ToString().Replace(""", "\"") + "" ,");
stringBuilder.Append(""pagetypeid": "" + num2 + "" ,");
if (num3 == 1)
{
stringBuilder.Append(""isreloadid": "否" ,");
}
else
{
stringBuilder.Append(""isreloadid": "是" ,");
}
stringBuilder.Append(""state": "closed" ");
stringBuilder.Append("},");
stringBuilder.Append(this.SetMenu(array[i]["ID"].ToString(), dt));
}
}
stringBuilder.Remove(stringBuilder.Length - 1, 1);
stringBuilder.Append("]}");
return stringBuilder.ToString();
}
public string GetAdvancedTreeList(DataTable dt)
{
DataRow[] array = dt.Select(" fatherid=0");
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("{"total":" + dt.Rows.Count + ","rows":");
stringBuilder.Append("[ ");
if (array.Length > 0)
{
for (int i = 0; i < array.Length; i++)
{
stringBuilder.Append("{ ");
int num = Convert.ToInt32(array[i]["fatherid"].ToString());
int num2 = Convert.ToInt32(array[i]["userid"].ToString());
string str = array[i]["name"].ToString();
stringBuilder.Append(""id": "" + array[i]["ID"].ToString() + "" ,");
stringBuilder.Append(""fatherid": "" + num + "" ,");
stringBuilder.Append(""userid": "" + num2 + "" ,");
stringBuilder.Append(""name": "" + str + "" ,");
stringBuilder.Append(""departmentname": "" + array[i]["departmentname"].ToString() + "" ,");
stringBuilder.Append(""state": "closed" ");
stringBuilder.Append("},");
stringBuilder.Append(this.SetAdvancedMenu(array[i]["ID"].ToString(), dt));
}
}
stringBuilder.Remove(stringBuilder.Length - 1, 1);
stringBuilder.Append("]}");
return stringBuilder.ToString();
}
public string SetAdvancedMenu(string parentid, DataTable dt)
{
StringBuilder stringBuilder = new StringBuilder();
DataRow[] array = dt.Select(" fatherid=" + parentid);
if (array.Length > 0)
{
for (int i = 0; i < array.Length; i++)
{
stringBuilder.Append("{ ");
int num = Convert.ToInt32(array[i]["userid"].ToString());
string str = array[i]["name"].ToString();
stringBuilder.Append(""id": "" + array[i]["ID"].ToString() + "" ,");
stringBuilder.Append(string.Format(""_parentId": "{0}" ,", parentid));
stringBuilder.Append(""fatherid": "" + parentid + "" ,");
stringBuilder.Append(""userid": "" + num + "" ,");
stringBuilder.Append(""name": "" + str + "" ,");
stringBuilder.Append(""departmentname": "" + array[i]["departmentname"].ToString() + "" ,");
stringBuilder.Append(""state": "closed" ");
stringBuilder.Append("},");
stringBuilder.Append(this.SetAdvancedMenu(array[i]["ID"].ToString(), dt));
}
}
return stringBuilder.ToString();
}
public string SetMenu(string parentid, DataTable dt)
{
StringBuilder stringBuilder = new StringBuilder();
DataRow[] array = dt.Select(" fatherid=" + parentid);
if (array.Length > 0)
{
for (int i = 0; i < array.Length; i++)
{
stringBuilder.Append("{ ");
int num = Convert.ToInt32(array[i]["pagetypeid"].ToString());
int num2 = Convert.ToInt32(array[i]["isreloadid"].ToString());
stringBuilder.Append(""id": "" + array[i]["ID"].ToString() + "" ,");
stringBuilder.Append(""name": "" + array[i]["Name"].ToString().Replace(""", "\"") + "", ");
stringBuilder.Append(""seq": "" + array[i]["Sequence"].ToString() + "", ");
stringBuilder.Append(""url": "" + array[i]["url"].ToString().Replace(""", "\"") + "", ");
stringBuilder.Append(""buttonid": "" + array[i]["buttonid"].ToString().Replace(""", "\"") + "" ,");
stringBuilder.Append(string.Format(""_parentId": "{0}" ,", parentid));
stringBuilder.Append(""fatherid": "" + parentid + "" ,");
stringBuilder.Append(""pagetypename": "" + array[i]["pagetypename"].ToString().Replace(""", "\"") + "" ,");
stringBuilder.Append(""pagetypeid": "" + num + "" ,");
if (num2 == 1)
{
stringBuilder.Append(""isreloadid": "否" ,");
}
else
{
stringBuilder.Append(""isreloadid": "是" ,");
}
stringBuilder.Append(""state": "closed" ");
stringBuilder.Append("},");
stringBuilder.Append(this.SetMenu(array[i]["ID"].ToString(), dt));
}
}
return stringBuilder.ToString();
}
public string GetJsonFromDataTable(DataTable dt, int total, bool isshowtotal = true)
{
StringBuilder stringBuilder = new StringBuilder();
if (dt.Rows.Count == 0)
{
stringBuilder.Append("{ ");
stringBuilder.Append(""rows":[ ");
stringBuilder.Append("]");
if (isshowtotal)
{
stringBuilder.Append(",");
stringBuilder.Append(""total":");
stringBuilder.Append(total);
}
stringBuilder.Append("}");
return stringBuilder.ToString();
}
stringBuilder.Append("{ ");
stringBuilder.Append(""rows":[ ");
for (int i = 0; i < dt.Rows.Count; i++)
{
stringBuilder.Append("{ ");
for (int j = 0; j < dt.Columns.Count; j++)
{
if (j < dt.Columns.Count - 1)
{
stringBuilder.Append(string.Concat(new string[]
{
""",
dt.Columns[j].ColumnName.ToString().ToLower(),
"":"",
this.JsonCharFilter(dt.Rows[i][j].ToString()),
"","
}));
}
else
{
if (j == dt.Columns.Count - 1)
{
stringBuilder.Append(string.Concat(new string[]
{
""",
dt.Columns[j].ColumnName.ToString().ToLower(),
"":"",
this.JsonCharFilter(dt.Rows[i][j].ToString()),
"""
}));
}
}
}
if (i == dt.Rows.Count - 1)
{
stringBuilder.Append("} ");
}
else
{
stringBuilder.Append("}, ");
}
}
stringBuilder.Append("]");
if (isshowtotal)
{
stringBuilder.Append(",");
stringBuilder.Append(""total":");
stringBuilder.Append(total);
}
stringBuilder.Append("}");
return stringBuilder.ToString();
}
public string JsonCharFilter(string sourceStr)
{
sourceStr = sourceStr.Replace("\", "\\");
sourceStr = sourceStr.Replace(""", "\"");
sourceStr = sourceStr.Replace("", "\b");
sourceStr = sourceStr.Replace(" ", "\t");
sourceStr = sourceStr.Replace("
", "\n");
sourceStr = sourceStr.Replace("f", "\f");
sourceStr = sourceStr.Replace("
", "\r");
return sourceStr;
}
public string DataTableToFomater(DataTable dt)
{
this.sb.Clear();
this.sb.Append("[{");
if (dt.Rows.Count > 0)
{
string text = dt.Rows[0][0].ToString();
if (text.IndexOf("成功") != -1)
{
this.sb.Append(""success":");
this.sb.Append("true,");
}
else
{
this.sb.Append(""success":");
this.sb.Append("false,");
}
this.sb.Append(""msg":");
this.sb.Append(""" + text + """);
}
this.sb.Append("}]");
return this.sb.ToString();
}
public string CheckLogin()
{
this.sb.Append("[{");
this.sb.Append(""success":");
this.sb.Append("false,");
this.sb.Append(""reload":");
this.sb.Append("true,");
this.sb.Append(""url":");
this.sb.Append(""/login.html",");
this.sb.Append(""msg":");
this.sb.Append(""非法操作,请重新登录"");
this.sb.Append("}]");
return this.sb.ToString();
}
public string GetJsonFromDataTable(DataTable dt, int total, bool ShowFooter, string fields, string inputfiled, string ShowMessage = "合计:", string filter = "")
{
StringBuilder stringBuilder = new StringBuilder();
if (dt.Rows.Count == 0)
{
stringBuilder.Append("{ ");
stringBuilder.Append(""rows":[ ");
stringBuilder.Append("]");
stringBuilder.Append(",");
stringBuilder.Append(""total":");
stringBuilder.Append(total);
stringBuilder.Append(","footer":[");
stringBuilder.Append("]");
stringBuilder.Append("}");
return stringBuilder.ToString();
}
stringBuilder.Append("{ ");
stringBuilder.Append(""rows":[ ");
for (int i = 0; i < dt.Rows.Count; i++)
{
stringBuilder.Append("{ ");
for (int j = 0; j < dt.Columns.Count; j++)
{
if (j < dt.Columns.Count - 1)
{
stringBuilder.Append(string.Concat(new string[]
{
""",
dt.Columns[j].ColumnName.ToString().ToLower(),
"":"",
this.JsonCharFilter(dt.Rows[i][j].ToString()),
"","
}));
}
else
{
if (j == dt.Columns.Count - 1)
{
stringBuilder.Append(string.Concat(new string[]
{
""",
dt.Columns[j].ColumnName.ToString().ToLower(),
"":"",
this.JsonCharFilter(dt.Rows[i][j].ToString()),
"""
}));
}
}
}
if (i == dt.Rows.Count - 1)
{
stringBuilder.Append("} ");
}
else
{
stringBuilder.Append("}, ");
}
}
stringBuilder.Append("]");
stringBuilder.Append(",");
stringBuilder.Append(""total":");
stringBuilder.Append(total);
if (ShowFooter && fields.Length > 0 && inputfiled.Length > 0)
{
stringBuilder.Append(","footer":[{");
stringBuilder.Append(string.Concat(new string[]
{
""",
inputfiled,
"":"<span style='color:red; font-weight:bold'>",
ShowMessage,
"</span>","
}));
string[] array = fields.Split(new char[]
{
','
});
for (int k = 0; k < array.Length; k++)
{
if (k < array.Length - 1)
{
stringBuilder.Append(string.Concat(new object[]
{
""",
array[k],
"":"",
dt.Compute("sum(" + array[k] + ")", filter),
"","
}));
}
else
{
stringBuilder.Append(string.Concat(new object[]
{
""",
array[k],
"":"",
dt.Compute("sum(" + array[k] + ")", filter),
"""
}));
}
}
stringBuilder.Append("}]");
}
stringBuilder.Append("}");
return stringBuilder.ToString();
}
public string GetJsonFromDataTable()
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("{ ");
stringBuilder.Append(""rows":[ ");
stringBuilder.Append("]");
stringBuilder.Append(",");
stringBuilder.Append(""total":");
stringBuilder.Append(0);
stringBuilder.Append(","footer":[");
stringBuilder.Append("]");
stringBuilder.Append("}");
return stringBuilder.ToString();
}
public string ComBoxProductTree(DataTable tables)
{
DataRow[] array = tables.Select(" FatherID=0");
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("{"total":" + tables.Rows.Count + ","rows":");
stringBuilder.Append("[ ");
if (array.Length > 0)
{
for (int i = 0; i < array.Length; i++)
{
stringBuilder.Append("{ ");
int num = Convert.ToInt32(array[i]["FatherID"].ToString());
stringBuilder.Append(""id": "" + array[i]["ID"].ToString() + "" ,");
stringBuilder.Append(""productid": "" + array[i]["ProductID"].ToString().Replace(""", "\"") + "", ");
stringBuilder.Append(""productcode": "" + array[i]["ProductCode"].ToString().Replace(""", "\"") + "", ");
stringBuilder.Append(""productname": "" + array[i]["ProductName"].ToString().Replace(""", "\"") + "" ,");
stringBuilder.Append(""fatherid": "" + num + "" ,");
stringBuilder.Append(""qty": "" + array[i]["Quantity"].ToString() + "" ,");
stringBuilder.Append(""state": "closed" ");
stringBuilder.Append("},");
stringBuilder.Append(this.GetComBoxProductTreeByFatherid(array[i]["ID"].ToString(), tables));
}
}
stringBuilder.Remove(stringBuilder.Length - 1, 1);
stringBuilder.Append("]}");
return stringBuilder.ToString();
}
public string GetComBoxProductTreeByFatherid(string fatherid, DataTable dt)
{
StringBuilder stringBuilder = new StringBuilder();
DataRow[] array = dt.Select(" FatherID=" + fatherid);
if (array.Length > 0)
{
for (int i = 0; i < array.Length; i++)
{
stringBuilder.Append("{ ");
stringBuilder.Append(""id": "" + array[i]["ID"].ToString() + "" ,");
stringBuilder.Append(""productid": "" + array[i]["ProductID"].ToString().Replace(""", "\"") + "", ");
stringBuilder.Append(""productcode": "" + array[i]["ProductCode"].ToString().Replace(""", "\"") + "", ");
stringBuilder.Append(""productname": "" + array[i]["ProductName"].ToString().Replace(""", "\"") + "" ,");
stringBuilder.Append(""fatherid": "" + fatherid + "" ,");
stringBuilder.Append(""qty": "" + array[i]["Quantity"].ToString() + "" ,");
stringBuilder.Append(string.Format(""_parentId": "{0}" ,", fatherid));
stringBuilder.Append(""state": "closed" ");
stringBuilder.Append("},");
stringBuilder.Append(this.GetComBoxProductTreeByFatherid(array[i]["ID"].ToString(), dt));
}
}
return stringBuilder.ToString();
}
public string GetProjectCostTreeList(DataTable dt)
{
DataRow[] array = dt.Select(" fatherid=0");
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("{"total":" + dt.Rows.Count + ","rows":");
stringBuilder.Append("[ ");
if (array.Length > 0)
{
for (int i = 0; i < array.Length; i++)
{
stringBuilder.Append("{ ");
int num = Convert.ToInt32(array[i]["fatherid"].ToString());
int num2 = Convert.ToInt32(array[i]["projectid"].ToString());
string str = this.JsonCharFilter(array[i]["title"].ToString());
string str2 = this.JsonCharFilter(array[i]["costtypename"].ToString());
decimal num3 = Convert.ToDecimal(array[i]["price"].ToString());
int num4 = Convert.ToInt32(array[i]["costtypeid"].ToString());
stringBuilder.Append(""id": "" + array[i]["ID"].ToString() + "" ,");
stringBuilder.Append(""fatherid": "" + num + "" ,");
stringBuilder.Append(""projectid": "" + num2 + "" ,");
stringBuilder.Append(""code": "" + array[i]["code"].ToString() + "" ,");
stringBuilder.Append(""title": "" + str + "" ,");
stringBuilder.Append(""costtypeid": "" + num4 + "" ,");
stringBuilder.Append(""costtypename": "" + str2 + "" ,");
stringBuilder.Append(""price": "" + num3 + "" ,");
stringBuilder.Append(""state": "closed" ");
stringBuilder.Append("},");
stringBuilder.Append(this.SetProjectMenu(array[i]["ID"].ToString(), dt));
}
}
stringBuilder.Remove(stringBuilder.Length - 1, 1);
stringBuilder.Append("]}");
return stringBuilder.ToString();
}
public string SetProjectMenu(string parentid, DataTable dt)
{
StringBuilder stringBuilder = new StringBuilder();
DataRow[] array = dt.Select(" fatherid=" + parentid);
if (array.Length > 0)
{
for (int i = 0; i < array.Length; i++)
{
stringBuilder.Append("{ ");
int num = Convert.ToInt32(array[i]["fatherid"].ToString());
int num2 = Convert.ToInt32(array[i]["projectid"].ToString());
string str = this.JsonCharFilter(array[i]["title"].ToString());
string str2 = this.JsonCharFilter(array[i]["costtypename"].ToString());
decimal num3 = Convert.ToDecimal(array[i]["price"].ToString());
int num4 = Convert.ToInt32(array[i]["costtypeid"].ToString());
stringBuilder.Append(""id": "" + array[i]["ID"].ToString() + "" ,");
stringBuilder.Append(""fatherid": "" + num + "" ,");
stringBuilder.Append(""projectid": "" + num2 + "" ,");
stringBuilder.Append(""code": "" + array[i]["code"].ToString() + "" ,");
stringBuilder.Append(""title": "" + str + "" ,");
stringBuilder.Append(""costtypeid": "" + num4 + "" ,");
stringBuilder.Append(""costtypename": "" + str2 + "" ,");
stringBuilder.Append(""price": "" + num3 + "" ,");
stringBuilder.Append(string.Format(""_parentId": "{0}" ,", parentid));
stringBuilder.Append(""state": "closed" ");
stringBuilder.Append("},");
stringBuilder.Append(this.SetAdvancedMenu(array[i]["ID"].ToString(), dt));
}
}
return stringBuilder.ToString();
}
public DataTable CreateDataTable()
{
DataTable dataTable = new DataTable();
dataTable.Columns.Add("abc", typeof(string));
DataRow dataRow = dataTable.NewRow();
object[] itemArray = new object[]
{
"操作失败"
};
dataRow.ItemArray = itemArray;
dataTable.Rows.Add(dataRow);
return dataTable;
}
}
}