internal static string ToJson(LinkItem param)
{
if (param == null)
{
return null;
}
string json = "{";
List<string> list = new List<string>();
list.Add(string.Format("\"datasourceConnectionInfo\":{0}", DatasourceConnectionInfo.ToJson(param.DatasourceConnectionInfo)));
if (param.ForeignKeys != null && param.ForeignKeys.Count > 0)
{
List<string> temp = new List<string>();
for (int i = 0; i < param.ForeignKeys.Count; i++)
{
temp.Add(string.Format("\"{0}\"", param.ForeignKeys[i]));
}
list.Add(string.Format("\"foreignKeys\":[{0}]", string.Join(",", temp.ToArray())));
}
if (param.LinkFields != null && param.LinkFields.Count > 0)
{
List<string> temp = new List<string>();
for (int i = 0; i < param.LinkFields.Count; i++)
{
temp.Add(string.Format("\"{0}\"", param.LinkFields[i]));
}
list.Add(string.Format("\"linkFields\":[{0}]", string.Join(",", temp.ToArray())));
}
if (param.PrimaryKeys != null && param.PrimaryKeys.Count > 0)
{
List<string> temp = new List<string>();
for (int i = 0; i < param.PrimaryKeys.Count; i++)
{
temp.Add(string.Format("\"{0}\"", param.PrimaryKeys[i]));
}
list.Add(string.Format("\"primaryKeys\":[{0}]", string.Join(",", temp.ToArray())));
}
if (!string.IsNullOrEmpty(param.Name))
{
list.Add(string.Format("\"name\":\"{0}\"", param.Name));
}
else
{
list.Add("\"name\":null");
}
if (!string.IsNullOrEmpty(param.ForeignTable))
{
list.Add(string.Format("\"foreignTable\":\"{0}\"", param.ForeignTable));
}
else
{
list.Add("\"foreignTable\":null");
}
if (!string.IsNullOrEmpty(param.LinkFilter))
{
list.Add(string.Format("\"linkFilter\":\"{0}\"", param.LinkFilter));
}
else
{
list.Add("\"linkFilter\":null");
}
json += string.Join(",", list.ToArray());
json += "}";
return json;
}