From 4068e553589f77304c0be4402a5904a487a3cbc8 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 16 Dec 2020 15:37:49 +0000 Subject: [PATCH] --- server/AyaNova/PickList/PickListFactory.cs | 4 +- server/AyaNova/PickList/ProjectPickList.cs | 56 ++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 server/AyaNova/PickList/ProjectPickList.cs diff --git a/server/AyaNova/PickList/PickListFactory.cs b/server/AyaNova/PickList/PickListFactory.cs index a55e0cee..1ca528db 100644 --- a/server/AyaNova/PickList/PickListFactory.cs +++ b/server/AyaNova/PickList/PickListFactory.cs @@ -24,8 +24,10 @@ namespace AyaNova.PickList return new WidgetPickList() as IAyaPickList; case AyaType.User: return new UserPickList() as IAyaPickList; - case AyaType.Vendor: + case AyaType.Vendor: return new VendorPickList() as IAyaPickList; + case AyaType.Project: + return new ProjectPickList() as IAyaPickList; case AyaType.WorkOrderTemplate: return new WorkOrderTemplatePickList() as IAyaPickList; default: diff --git a/server/AyaNova/PickList/ProjectPickList.cs b/server/AyaNova/PickList/ProjectPickList.cs new file mode 100644 index 00000000..40ae1e58 --- /dev/null +++ b/server/AyaNova/PickList/ProjectPickList.cs @@ -0,0 +1,56 @@ +using System.Collections.Generic; +using Newtonsoft.Json.Linq; +using AyaNova.Biz; +namespace AyaNova.PickList +{ + internal class ProjectPickList : AyaPickList + { + public ProjectPickList() + { + + DefaultListObjectType = AyaType.Project; + SQLFrom = "from aproject"; + AllowedRoles = BizRoles.GetRoleSet(DefaultListObjectType).Select; + dynamic dTemplate = new JArray(); + + dynamic cm = new JObject(); + cm.fld = "projectname"; + dTemplate.Add(cm); + + cm = new JObject(); + cm.fld = "projecttags"; + 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 = "projectactive", + ColumnDataType = UiFieldDataType.Bool, + SqlValueColumnName = "aproject.active", + IsActiveColumn = true + }); + ColumnDefinitions.Add(new AyaPickListFieldDefinition + { + TKey = "Name", + FieldKey = "projectname", + ColumnDataType = UiFieldDataType.Text, + SqlIdColumnName = "aproject.id", + SqlValueColumnName = "aproject.name", + IsRowId = true + }); + + ColumnDefinitions.Add(new AyaPickListFieldDefinition + { + TKey = "Tags", + FieldKey = "projecttags", + ColumnDataType = UiFieldDataType.Tags, + SqlValueColumnName = "aproject.tags" + }); + + } + }//eoc +}//eons \ No newline at end of file