diff --git a/server/AyaNova/PickList/PickListFactory.cs b/server/AyaNova/PickList/PickListFactory.cs index 8b7ea491..d237b6ed 100644 --- a/server/AyaNova/PickList/PickListFactory.cs +++ b/server/AyaNova/PickList/PickListFactory.cs @@ -24,10 +24,12 @@ namespace AyaNova.PickList return new WidgetPickList() as IAyaPickList; case AyaType.User: return new UserPickList() as IAyaPickList; + case AyaType.Vendor: + return new VendorPickList() as IAyaPickList; case AyaType.WorkOrderTemplate: return new WorkOrderTemplatePickList() as IAyaPickList; default: - throw new System.NotImplementedException("PICKLIST NOT IMPLEMENTED"); + throw new System.NotImplementedException($"PICKLIST {ayaType} NOT IMPLEMENTED"); } //return null; diff --git a/server/AyaNova/PickList/VendorPickList.cs b/server/AyaNova/PickList/VendorPickList.cs new file mode 100644 index 00000000..bef40a71 --- /dev/null +++ b/server/AyaNova/PickList/VendorPickList.cs @@ -0,0 +1,56 @@ +using System.Collections.Generic; +using Newtonsoft.Json.Linq; +using AyaNova.Biz; +namespace AyaNova.PickList +{ + internal class VendorPickList : AyaPickList + { + public VendorPickList() + { + + DefaultListObjectType = AyaType.Vendor; + SQLFrom = "from avendor"; + AllowedRoles = BizRoles.GetRoleSet(DefaultListObjectType).Select; + dynamic dTemplate = new JArray(); + + dynamic cm = new JObject(); + cm.fld = "vendorname"; + dTemplate.Add(cm); + + cm = new JObject(); + cm.fld = "vendortags"; + 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 = "vendoractive", + ColumnDataType = UiFieldDataType.Bool, + SqlValueColumnName = "avendor.active", + IsActiveColumn = true + }); + ColumnDefinitions.Add(new AyaPickListFieldDefinition + { + TKey = "Name", + FieldKey = "vendorname", + ColumnDataType = UiFieldDataType.Text, + SqlIdColumnName = "avendor.id", + SqlValueColumnName = "avendor.name", + IsRowId = true + }); + + ColumnDefinitions.Add(new AyaPickListFieldDefinition + { + TKey = "Tags", + FieldKey = "vendortags", + ColumnDataType = UiFieldDataType.Tags, + SqlValueColumnName = "avendor.tags" + }); + + } + }//eoc +}//eons \ No newline at end of file diff --git a/server/AyaNova/util/DbUtil.cs b/server/AyaNova/util/DbUtil.cs index 55370f3d..44f0a28e 100644 --- a/server/AyaNova/util/DbUtil.cs +++ b/server/AyaNova/util/DbUtil.cs @@ -280,6 +280,12 @@ namespace AyaNova.Util cmd.Connection = conn; cmd.CommandText = "update auser set customerid=null;"; await cmd.ExecuteNonQueryAsync(); + + cmd.CommandText = "update auser set headofficeid=null;"; + await cmd.ExecuteNonQueryAsync(); + + cmd.CommandText = "update auser set vendorid=null;"; + await cmd.ExecuteNonQueryAsync(); }