This commit is contained in:
@@ -156,7 +156,7 @@ namespace AyaNova.Biz
|
||||
|
||||
//first column is the non visible Default Id column so that the client knows what to open when there is no field with ID selected that matches underlying record type
|
||||
//in this case the default of id is sufficient for this list
|
||||
l.Add(new ObjectField { Key = "_df_", AyObjectType = (int)AyaType.Widget });
|
||||
l.Add(new ObjectField { Key = "df", AyObjectType = (int)AyaType.Widget });
|
||||
l.Add(new ObjectField { Key = "WidgetName", PropertyName = "Name", DataType = (int)AyaDataType.Text, Hideable = false });
|
||||
l.Add(new ObjectField { Key = "WidgetSerial", PropertyName = "Serial", DataType = (int)AyaDataType.Integer });
|
||||
l.Add(new ObjectField { Key = "WidgetDollarAmount", PropertyName = "DollarAmount", DataType = (int)AyaDataType.Currency });
|
||||
@@ -188,7 +188,7 @@ namespace AyaNova.Biz
|
||||
#endregion
|
||||
case USER_KEY:
|
||||
#region USER_KEY
|
||||
l.Add(new ObjectField { Key = "_df_", AyObjectType = (int)AyaType.User });
|
||||
l.Add(new ObjectField { Key = "df", AyObjectType = (int)AyaType.User });
|
||||
l.Add(new ObjectField { Key = "Name", PropertyName = "Name", SharedLTKey = true, DataType = (int)AyaDataType.Text, Hideable = false });
|
||||
l.Add(new ObjectField { Key = "UserEmployeeNumber", PropertyName = "EmployeeNumber", DataType = (int)AyaDataType.Text });
|
||||
l.Add(new ObjectField { Key = "AuthorizationRoles", PropertyName = "Roles", Hideable = false, DataType = (int)AyaDataType.Enum, EnumType = typeof(AuthorizationRoles).ToString() });
|
||||
@@ -240,7 +240,7 @@ namespace AyaNova.Biz
|
||||
//Standard mini COLUMN definition
|
||||
public static string GenerateMINIListColumnsJSON(AyaType defaultLinkType)
|
||||
{
|
||||
return $"[ {{\"cm\":\"_df_\",\"dt\":0,\"ay\":{(int)defaultLinkType}}},{{\"cm\":\"Widget\",\"dt\":{(int)AyaDataType.Text},\"ay\":{(int)defaultLinkType}}}]";
|
||||
return $"[ {{\"cm\":\"df\",\"dt\":0,\"ay\":{(int)defaultLinkType}}},{{\"cm\":\"Widget\",\"dt\":{(int)AyaDataType.Text},\"ay\":{(int)defaultLinkType}}}]";
|
||||
}
|
||||
|
||||
|
||||
@@ -261,8 +261,8 @@ namespace AyaNova.Biz
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.Append("[");
|
||||
//_df_ First column is always the _df_ column
|
||||
sb.Append($"{{\"cm\":\"_df_\",\"dt\":0,\"ay\":{(int)defaultLinkType}}}");
|
||||
//df First column is always the df column
|
||||
sb.Append($"{{\"cm\":\"df\",\"dt\":0,\"ay\":{(int)defaultLinkType}}}");
|
||||
|
||||
foreach (string s in fullFields)
|
||||
{
|
||||
@@ -349,17 +349,7 @@ namespace AyaNova.Biz
|
||||
}
|
||||
}
|
||||
|
||||
public string GetSqlIdColumnName()
|
||||
{
|
||||
if (string.IsNullOrEmpty(SqlIdColumn))
|
||||
{
|
||||
return "id";
|
||||
}
|
||||
else
|
||||
{
|
||||
return SqlIdColumn;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -36,14 +36,22 @@ namespace AyaNova.Biz
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("SELECT ");
|
||||
|
||||
//Default ID column for each row (always is _df_)
|
||||
ObjectField def = objectFieldsList.FirstOrDefault(x => x.Key == "_df_");
|
||||
//Default ID column for each row (always is aliased as df)
|
||||
ObjectField def = objectFieldsList.FirstOrDefault(x => x.Key == "df");
|
||||
if (def == null)
|
||||
{
|
||||
throw new System.ArgumentNullException($"SqlSelectBuilder: objectFieldList for key \"{objectKey}\" is missing the _df_ default field");
|
||||
throw new System.ArgumentNullException($"SqlSelectBuilder: objectFieldList for key \"{objectKey}\" is missing the df default field");
|
||||
}
|
||||
sb.Append(def.SqlIdColumn);
|
||||
sb.Append(" AS _df_ ");
|
||||
if (string.IsNullOrEmpty(def.SqlIdColumn))
|
||||
{
|
||||
sb.Append("id");//default when no alternate column is specified
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append(def.SqlIdColumn);
|
||||
}
|
||||
|
||||
sb.Append(" AS df ");
|
||||
|
||||
foreach (string ColumnName in templateFieldList)
|
||||
{
|
||||
@@ -56,18 +64,10 @@ namespace AyaNova.Biz
|
||||
}
|
||||
#endif
|
||||
if (o != null)
|
||||
{//Here is where we can vet the field name, if it doesn't exist though, for now we'll just ignore those ones
|
||||
{//Ignore missing fields in production
|
||||
|
||||
sb.Append(",");
|
||||
sb.Append("{");
|
||||
//Build required part of column definition
|
||||
sb.Append($"\"cm\":\"{o.Key}\",\"dt\":{(int)o.DataType}");
|
||||
|
||||
//Has a AyObjectType? (linkable / openable)
|
||||
if (o.AyObjectType != 0)
|
||||
sb.Append($",\"ay\":{(int)o.AyObjectType}");
|
||||
|
||||
sb.Append("}");
|
||||
sb.Append(o.GetSqlColumnName());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user