From 3f1e20e5e48a447265087eb5667a9fb273f8bdaa Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Sat, 14 Nov 2020 00:58:43 +0000 Subject: [PATCH] --- server/AyaNova/PickList/ContractPickList.cs | 57 +++++++++++++++++++ server/AyaNova/PickList/HeadOfficePickList.cs | 56 ++++++++++++++++++ server/AyaNova/PickList/PickListFactory.cs | 4 ++ 3 files changed, 117 insertions(+) create mode 100644 server/AyaNova/PickList/ContractPickList.cs create mode 100644 server/AyaNova/PickList/HeadOfficePickList.cs diff --git a/server/AyaNova/PickList/ContractPickList.cs b/server/AyaNova/PickList/ContractPickList.cs new file mode 100644 index 00000000..1fd0c8ce --- /dev/null +++ b/server/AyaNova/PickList/ContractPickList.cs @@ -0,0 +1,57 @@ +using System.Collections.Generic; +using Newtonsoft.Json.Linq; +using AyaNova.Biz; +namespace AyaNova.PickList +{ + internal class ContractPickList : AyaPickList + { + public ContractPickList() + { + + DefaultListObjectType = AyaType.Contract; + SQLFrom = "from acontract"; + AllowedRoles = BizRoles.GetRoleSet(DefaultListObjectType).Select; + dynamic dTemplate = new JArray(); + + dynamic cm = new JObject(); + cm.fld = "contractname"; + dTemplate.Add(cm); + + + cm = new JObject(); + cm.fld = "contracttags"; + dTemplate.Add(cm); + + base.DefaultTemplate = dTemplate.ToString(Newtonsoft.Json.Formatting.None); + + //NOTE: Due to the join, all the sql id and name fields that can conflict with the joined table need to be specified completely + ColumnDefinitions = new List(); + ColumnDefinitions.Add(new AyaPickListFieldDefinition + { + TKey = "Active", + FieldKey = "contractactive", + ColumnDataType = UiFieldDataType.Bool, + SqlValueColumnName = "acontract.active", + IsActiveColumn = true + }); + ColumnDefinitions.Add(new AyaPickListFieldDefinition + { + TKey = "Name", + FieldKey = "contractname", + ColumnDataType = UiFieldDataType.Text, + SqlIdColumnName = "acontract.id", + SqlValueColumnName = "acontract.name", + IsRowId = true + }); + + + ColumnDefinitions.Add(new AyaPickListFieldDefinition + { + TKey = "Tags", + FieldKey = "contracttags", + ColumnDataType = UiFieldDataType.Tags, + SqlValueColumnName = "acontract.tags" + }); + } + }//eoc +}//eons \ No newline at end of file diff --git a/server/AyaNova/PickList/HeadOfficePickList.cs b/server/AyaNova/PickList/HeadOfficePickList.cs new file mode 100644 index 00000000..46639653 --- /dev/null +++ b/server/AyaNova/PickList/HeadOfficePickList.cs @@ -0,0 +1,56 @@ +using System.Collections.Generic; +using Newtonsoft.Json.Linq; +using AyaNova.Biz; +namespace AyaNova.PickList +{ + internal class HeadOfficePickList : AyaPickList + { + public HeadOfficePickList() + { + + DefaultListObjectType = AyaType.HeadOffice; + SQLFrom = "from aheadoffice"; + AllowedRoles = BizRoles.GetRoleSet(DefaultListObjectType).Select; + dynamic dTemplate = new JArray(); + + dynamic cm = new JObject(); + cm.fld = "headofficename"; + dTemplate.Add(cm); + + cm = new JObject(); + cm.fld = "headofficetags"; + dTemplate.Add(cm); + + base.DefaultTemplate = dTemplate.ToString(Newtonsoft.Json.Formatting.None); + + //NOTE: Due to the join, all the sql id and name fields that can conflict with the joined table need to be specified completely + ColumnDefinitions = new List(); + ColumnDefinitions.Add(new AyaPickListFieldDefinition + { + TKey = "Active", + FieldKey = "headofficeactive", + ColumnDataType = UiFieldDataType.Bool, + SqlValueColumnName = "aheadoffice.active", + IsActiveColumn = true + }); + ColumnDefinitions.Add(new AyaPickListFieldDefinition + { + TKey = "Name", + FieldKey = "headofficename", + ColumnDataType = UiFieldDataType.Text, + SqlIdColumnName = "aheadoffice.id", + SqlValueColumnName = "aheadoffice.name", + IsRowId = true + }); + + ColumnDefinitions.Add(new AyaPickListFieldDefinition + { + TKey = "Tags", + FieldKey = "headofficetags", + ColumnDataType = UiFieldDataType.Tags, + SqlValueColumnName = "aheadoffice.tags" + }); + + } + }//eoc +}//eons \ No newline at end of file diff --git a/server/AyaNova/PickList/PickListFactory.cs b/server/AyaNova/PickList/PickListFactory.cs index 97938c25..58928710 100644 --- a/server/AyaNova/PickList/PickListFactory.cs +++ b/server/AyaNova/PickList/PickListFactory.cs @@ -14,6 +14,10 @@ namespace AyaNova.PickList switch (ayaType) { //CoreBizObject add here + case AyaType.Contract: + return new ContractPickList() as IAyaPickList; + case AyaType.HeadOffice: + return new HeadOfficePickList() as IAyaPickList; case AyaType.Widget: return new WidgetPickList() as IAyaPickList; case AyaType.User: