From 0bbcd5fd3f2f98bd16725e67401ca7d10e467593 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 2 Jul 2019 17:22:16 +0000 Subject: [PATCH] --- server/AyaNova/biz/FormCustomBiz.cs | 3 +++ server/AyaNova/models/FormCustom.cs | 4 ++-- server/AyaNova/util/Seeder.cs | 12 +++++++----- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/server/AyaNova/biz/FormCustomBiz.cs b/server/AyaNova/biz/FormCustomBiz.cs index 08bc7c4c..e68a57b1 100644 --- a/server/AyaNova/biz/FormCustomBiz.cs +++ b/server/AyaNova/biz/FormCustomBiz.cs @@ -168,6 +168,9 @@ namespace AyaNova.Biz var ValidFormFields = FormAvailableFields.FormFields(inObj.FormKey); try { + //Parse the json, expecting something like this: + //[{fld:"ltkeyfieldname",hide:"true/false",required:"true/false", type:"bool"},{fld:"ltkeyfieldname",hide:"true/false",required:"true/false", type:"text"] + //Array at root is valid json and saves a bit of bandwidth so minimal is best var v = JArray.Parse(inObj.Template); for (int i = 0; i < v.Count; i++) diff --git a/server/AyaNova/models/FormCustom.cs b/server/AyaNova/models/FormCustom.cs index 72c3d436..24e7ffdf 100644 --- a/server/AyaNova/models/FormCustom.cs +++ b/server/AyaNova/models/FormCustom.cs @@ -15,7 +15,7 @@ namespace AyaNova.Models - Hide "hide" - Required "required" - Type One of values from AyDataType but not tags or enum (bool, date, date time, decimal, number, picklist(FUTURE), and text) - - e.g.: {template:[{fld:"ltkeyfieldname",hide:"true/false",required:"true/false", type:"bool"},{fld:"ltkeyfieldname",hide:"true/false",required:"true/false", type:"text"]} + - e.g.: [{fld:"ltkeyfieldname",hide:"true/false",required:"true/false", type:"bool"},{fld:"ltkeyfieldname",hide:"true/false",required:"true/false", type:"text"] */ public partial class FormCustom @@ -25,7 +25,7 @@ namespace AyaNova.Models [Required, MaxLength(255)] public string FormKey { get; set; }//max 255 characters ascii set - public string Template { get; set; }//JSON fragment of form customization template + public string Template { get; set; }//JSON fragment of form customization template, top level is array. } } diff --git a/server/AyaNova/util/Seeder.cs b/server/AyaNova/util/Seeder.cs index ab336d23..fa7bd9e2 100644 --- a/server/AyaNova/util/Seeder.cs +++ b/server/AyaNova/util/Seeder.cs @@ -79,15 +79,18 @@ namespace AyaNova.Util //WIDGET sample form customization { - ?? Should the template be an object or an array at the top + //?? Should the template be an object or an array at the top //In other words is it correct below or in the TEST Project FormCustom code where it's directly an array //verify what is coming out of the test project in json first before this + +//According to the internet (:)) an array or an object is a valid top level json root object so it could go either way and it's a matter of preference I guess + + var ct = ServiceProviderProvider.DBContext; var fc = new FormCustom() { FormKey = "widget", - Template = @"{ - ""template"": [ + Template = @"[ { ""fld"": ""WidgetNotes"", ""required"": ""true"" @@ -122,8 +125,7 @@ namespace AyaNova.Util ""required"": ""false"", ""type"": ""decimal"" } - ] - }" + ]" }; ct.FormCustom.Add(fc);