using System.Collections.Generic; using Sockeye.Biz; using Sockeye.Models; namespace Sockeye.PickList { internal static class PickListFactory { //Instantiate list object specified from type internal static IAyaPickList GetAyaPickList(SockType sockType) { switch (sockType) { //CoreBizObject add here if it will be "picked" on any other form case SockType.Customer: return new CustomerPickList() as IAyaPickList; case SockType.HeadOffice: return new HeadOfficePickList() as IAyaPickList; case SockType.User: return new UserPickList() as IAyaPickList; case SockType.Report: return new ReportPickList() as IAyaPickList; case SockType.Vendor: return new VendorPickList() as IAyaPickList; case SockType.Product: return new ProductPickList() as IAyaPickList; //@##### WARNING: BE SURE TO ADD NEW TYPES BELOW OR USERS WON"T BE ABLE TO EDIT THE TEMPLATE FOR THEM default: throw new System.NotImplementedException($"PICKLIST {sockType} NOT IMPLEMENTED"); } //return null; } //List all the PickList-able object types available internal static List GetListOfAllPickListTypes(long TranslationId) { List TranslationKeysToFetch = new List(); List ret = new List(); List values = new List(); values.Add(SockType.Customer); values.Add(SockType.HeadOffice); values.Add(SockType.Report); values.Add(SockType.User); values.Add(SockType.Vendor); values.Add(SockType.Product); //### NEW ONES HERE foreach (SockType t in values) { // if (t.HasAttribute(typeof(CoreBizObjectAttribute))) // { var name = t.ToString(); TranslationKeysToFetch.Add(name); ret.Add(new NameIdItem() { Name = name, Id = (long)t }); // } } var LT = TranslationBiz.GetSubsetStaticAsync(TranslationKeysToFetch, TranslationId).Result; foreach (NameIdItem i in ret) { i.Name = LT[i.Name]; } return ret; } }//eoc }//eons