From 3c8bcdb7a94ac6e553d0a6a7a6407a457fe53260 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 16 Jan 2020 00:45:36 +0000 Subject: [PATCH] --- server/AyaNova/biz/ObjectFields.cs | 16 ++++++++++++---- server/AyaNova/biz/SqlSelectBuilder.cs | 9 ++++++++- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/server/AyaNova/biz/ObjectFields.cs b/server/AyaNova/biz/ObjectFields.cs index 7bb7cdd3..5fe940a8 100644 --- a/server/AyaNova/biz/ObjectFields.cs +++ b/server/AyaNova/biz/ObjectFields.cs @@ -153,10 +153,10 @@ namespace AyaNova.Biz */ case WIDGET_KEY: #region WIDGET_KEY - + //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() }); @@ -267,8 +267,16 @@ namespace AyaNova.Biz foreach (string s in fullFields) { ObjectField o = fields.FirstOrDefault(x => x.Key == s); +#if (DEBUG) + //Developers little helper + if (o == null) + { + throw new System.ArgumentNullException($"DEV ERROR in objectFields::GenerateListColumnsJSONFromTemplate - field {s} specified in template was NOT found in ObjectFields list for key \"{ObjectKey}\""); + } +#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 + {//Here is where we can vet the field name, if it doesn't exist. For production we'll just ignore those ones sb.Append(","); sb.Append("{"); diff --git a/server/AyaNova/biz/SqlSelectBuilder.cs b/server/AyaNova/biz/SqlSelectBuilder.cs index 97bbbd1e..853ad4c6 100644 --- a/server/AyaNova/biz/SqlSelectBuilder.cs +++ b/server/AyaNova/biz/SqlSelectBuilder.cs @@ -47,7 +47,14 @@ namespace AyaNova.Biz foreach (string ColumnName in templateFieldList) { - ObjectField o = objectFieldsList.FirstOrDefault(x => x.Key == s); + ObjectField o = objectFieldsList.FirstOrDefault(x => x.Key == ColumnName); +#if (DEBUG) + //Developers little helper + if (o == null) + { + throw new System.ArgumentNullException($"DEV ERROR in SqlSelectBuilder.cs: field {ColumnName} specified in template was NOT found in ObjectFields list for key \"{objectKey}\""); + } +#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