From 9948af6c395d9cf7a4d7030147fcfa90dd6a91be Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 29 Apr 2020 14:31:09 +0000 Subject: [PATCH] --- source/Plugins/AyaNova.Plugin.V8/V8.cs | 37 +++++++++++++++----------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/source/Plugins/AyaNova.Plugin.V8/V8.cs b/source/Plugins/AyaNova.Plugin.V8/V8.cs index cad21be..05279c9 100644 --- a/source/Plugins/AyaNova.Plugin.V8/V8.cs +++ b/source/Plugins/AyaNova.Plugin.V8/V8.cs @@ -410,7 +410,7 @@ var DateCustomFields = await ExportCustomFieldSchema(ocf, "User", "User"); //Custom fields? if (ShouldExportCustom) { - d.customFields = CustomFieldData(c); + d.customFields = CustomFieldData(c,DateCustomFields); } var a = await util.PostAsync("User", d.ToString()); @@ -742,16 +742,28 @@ var DateCustomFields = await ExportCustomFieldSchema(ocf, "User", "User"); //export objects custom field data into jobject string - private string CustomFieldData(object biz) + private string CustomFieldData(object biz, List dateFields) { dynamic d=new JObject(); for (int x = 0; x < 10; x++) { object o = (object)biz.GetType().GetProperty("Custom"+x.ToString()).GetValue(biz, null); - //if (o != null) - // o = o.ToString(); - //JObject j = (JObject) JObject.FromObject(o); + string s = o.ToString(); + if (string.IsNullOrWhiteSpace(s)) + { + s = null; + } + if (s!=null && dateFields.Contains(x)) + { + //parse out to UTC date + DateTime dt=new DateTime(); + if (DateTime.TryParse(s, out dt)) + { + s = dt.ToUniversalTime().ToString("s"); + } + + } d["c"+(x+1).ToString()] = o.ToString(); } @@ -776,14 +788,11 @@ var DateCustomFields = await ExportCustomFieldSchema(ocf, "User", "User"); private async System.Threading.Tasks.Task> ExportCustomFieldSchema(ObjectCustomFields ocf, string v7CustomFieldObjectName, string RavenCustomTranslationKeyObjectName) { - var ret = new List(); - - //NOTE: this code inspired by winforApp::Util.cs PrepareCustomFieldsGrid method - + var ret = new List(); + //NOTE: this code inspired by winforApp::Util.cs PrepareCustomFieldsGrid method dynamic d = new JObject(); d.formkey = RavenCustomTranslationKeyObjectName; - dynamic dtemplate = new JArray(); - + dynamic dtemplate = new JArray(); foreach (ObjectCustomField f in ocf) { if (f.Visible) @@ -826,13 +835,9 @@ var DateCustomFields = await ExportCustomFieldSchema(ocf, "User", "User"); dt.type = util.AyaUiFieldDataType.Text; break; } - dtemplate.Add(dt); - } - } - - + } d.template = dtemplate.ToString(); //ok, were here because there *are* custom fields available