diff --git a/server/AyaNova/PickList/PickListFactory.cs b/server/AyaNova/PickList/PickListFactory.cs index 1ca528db..484e6e73 100644 --- a/server/AyaNova/PickList/PickListFactory.cs +++ b/server/AyaNova/PickList/PickListFactory.cs @@ -28,8 +28,17 @@ namespace AyaNova.PickList return new VendorPickList() as IAyaPickList; case AyaType.Project: return new ProjectPickList() as IAyaPickList; + case AyaType.ServiceRate: + return new ServiceRatePickList() as IAyaPickList; + case AyaType.TaxCode: + return new TaxCodePickList() as IAyaPickList; + case AyaType.TravelRate: + return new TravelRatePickList() as IAyaPickList; + case AyaType.UnitModel: + return new UnitModelPickList() as IAyaPickList; case AyaType.WorkOrderTemplate: return new WorkOrderTemplatePickList() as IAyaPickList; + default: throw new System.NotImplementedException($"PICKLIST {ayaType} NOT IMPLEMENTED"); diff --git a/server/AyaNova/PickList/UnitModelPickList.cs b/server/AyaNova/PickList/UnitModelPickList.cs new file mode 100644 index 00000000..923aff17 --- /dev/null +++ b/server/AyaNova/PickList/UnitModelPickList.cs @@ -0,0 +1,85 @@ +using System.Collections.Generic; +using Newtonsoft.Json.Linq; +using AyaNova.Biz; +namespace AyaNova.PickList +{ + internal class UnitModelPickList : AyaPickList + { + public UnitModelPickList() + { + + DefaultListObjectType = AyaType.UnitModel; + SQLFrom = "from aunitmodel left outer join avendor on (aunitmodel.vendorid=avendor.id)"; + AllowedRoles = BizRoles.GetRoleSet(DefaultListObjectType).Select; + dynamic dTemplate = new JArray(); + dynamic cm = null; + + cm = new JObject(); + cm.fld = "UnitModelModelNumber"; + dTemplate.Add(cm); + + cm = new JObject(); + cm.fld = "Name"; + dTemplate.Add(cm); + + cm = new JObject(); + cm.fld = "UnitModelVendorID"; + dTemplate.Add(cm); + + cm = new JObject(); + cm.fld = "unitmodeltags"; + 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 = "unitmodelactive", + ColumnDataType = UiFieldDataType.Bool, + SqlValueColumnName = "aunitmodel.active", + IsActiveColumn = true + }); + + ColumnDefinitions.Add(new AyaPickListFieldDefinition + { + TKey = "UnitModelModelNumber", + FieldKey = "UnitModelModelNumber", + ColumnDataType = UiFieldDataType.Text, + SqlIdColumnName = "aunitmodel.id", + SqlValueColumnName = "aunitmodel.number", + IsRowId = true + }); + + ColumnDefinitions.Add(new AyaPickListFieldDefinition + { + TKey = "Name", + FieldKey = "Name", + ColumnDataType = UiFieldDataType.Text, + SqlValueColumnName = "aunitmodel.name" + }); + + + ColumnDefinitions.Add(new AyaPickListFieldDefinition + { + FieldKey = "UnitModelVendorID", + TKey = "UnitModelVendorID", + ColumnDataType = UiFieldDataType.Text, + SqlIdColumnName = "avendor.id", + SqlValueColumnName = "avendor.name" + }); + + + ColumnDefinitions.Add(new AyaPickListFieldDefinition + { + TKey = "Tags", + FieldKey = "unitmodeltags", + ColumnDataType = UiFieldDataType.Tags, + SqlValueColumnName = "aunitmodel.tags" + }); + + } + }//eoc +}//eons \ No newline at end of file