166 lines
3.3 KiB
C#
166 lines
3.3 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Text;
|
|
|
|
namespace AGVSystem
|
|
{
|
|
// Token: 0x0200000B RID: 11
|
|
internal class Senddataset
|
|
{
|
|
// Token: 0x060000A0 RID: 160 RVA: 0x00011BD8 File Offset: 0x0000FDD8
|
|
public static string DatasetToJson(DataSet dataSet)
|
|
{
|
|
string text = "{";
|
|
foreach (object obj in dataSet.Tables)
|
|
{
|
|
DataTable dataTable = (DataTable)obj;
|
|
text = string.Concat(new string[]
|
|
{
|
|
text,
|
|
"\"",
|
|
dataTable.TableName,
|
|
"\":",
|
|
Senddataset.DataTableToJson(dataTable),
|
|
","
|
|
});
|
|
}
|
|
text = text.TrimEnd(new char[]
|
|
{
|
|
','
|
|
});
|
|
return text + "}";
|
|
}
|
|
|
|
// Token: 0x060000A1 RID: 161 RVA: 0x00011C94 File Offset: 0x0000FE94
|
|
public static string DataTableToJson(DataTable dt)
|
|
{
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
stringBuilder.Append("[");
|
|
DataRowCollection rows = dt.Rows;
|
|
for (int i = 0; i < rows.Count; i++)
|
|
{
|
|
stringBuilder.Append("{");
|
|
for (int j = 0; j < dt.Columns.Count; j++)
|
|
{
|
|
string columnName = dt.Columns[j].ColumnName;
|
|
string text = rows[i][j].ToString();
|
|
Type dataType = dt.Columns[j].DataType;
|
|
stringBuilder.Append("\"" + columnName + "\":");
|
|
text = Senddataset.StringFormat(text, dataType);
|
|
bool flag = j < dt.Columns.Count - 1;
|
|
if (flag)
|
|
{
|
|
stringBuilder.Append(text + ",");
|
|
}
|
|
else
|
|
{
|
|
stringBuilder.Append(text);
|
|
}
|
|
}
|
|
stringBuilder.Append("},");
|
|
}
|
|
stringBuilder.Remove(stringBuilder.Length - 1, 1);
|
|
stringBuilder.Append("]");
|
|
return stringBuilder.ToString();
|
|
}
|
|
|
|
// Token: 0x060000A2 RID: 162 RVA: 0x00011DD4 File Offset: 0x0000FFD4
|
|
private static string StringFormat(string str, Type type)
|
|
{
|
|
bool flag = type == typeof(string);
|
|
if (flag)
|
|
{
|
|
str = Senddataset.StringToJson(str);
|
|
str = "\"" + str + "\"";
|
|
}
|
|
else
|
|
{
|
|
bool flag2 = type == typeof(DateTime);
|
|
if (flag2)
|
|
{
|
|
str = "\"" + str + "\"";
|
|
}
|
|
else
|
|
{
|
|
bool flag3 = type == typeof(bool);
|
|
if (flag3)
|
|
{
|
|
str = str.ToLower();
|
|
}
|
|
else
|
|
{
|
|
bool flag4 = type != typeof(string) && string.IsNullOrEmpty(str);
|
|
if (flag4)
|
|
{
|
|
str = "\"" + str + "\"";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return str;
|
|
}
|
|
|
|
// Token: 0x060000A3 RID: 163 RVA: 0x00011E98 File Offset: 0x00010098
|
|
private static string StringToJson(string s)
|
|
{
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
int i = 0;
|
|
while (i < s.Length)
|
|
{
|
|
char c = s.ToCharArray()[i];
|
|
char c2 = c;
|
|
char c3 = c2;
|
|
if (c3 <= '"')
|
|
{
|
|
switch (c3)
|
|
{
|
|
case '\b':
|
|
stringBuilder.Append("\\b");
|
|
break;
|
|
case '\t':
|
|
stringBuilder.Append("\\t");
|
|
break;
|
|
case '\n':
|
|
stringBuilder.Append("\\n");
|
|
break;
|
|
case '\v':
|
|
goto IL_CA;
|
|
case '\f':
|
|
stringBuilder.Append("\\f");
|
|
break;
|
|
case '\r':
|
|
stringBuilder.Append("\\r");
|
|
break;
|
|
default:
|
|
if (c3 != '"')
|
|
{
|
|
goto IL_CA;
|
|
}
|
|
stringBuilder.Append("\\\"");
|
|
break;
|
|
}
|
|
}
|
|
else if (c3 != '/')
|
|
{
|
|
if (c3 != '\\')
|
|
{
|
|
goto IL_CA;
|
|
}
|
|
stringBuilder.Append("\\\\");
|
|
}
|
|
else
|
|
{
|
|
stringBuilder.Append("\\/");
|
|
}
|
|
IL_D4:
|
|
i++;
|
|
continue;
|
|
IL_CA:
|
|
stringBuilder.Append(c);
|
|
goto IL_D4;
|
|
}
|
|
return stringBuilder.ToString();
|
|
}
|
|
}
|
|
}
|