using System.Collections.Generic; namespace AyaNova.KPI { internal static class KPIFactory { //Instantiate list object specified from type internal static IAyaKPI GetAyaKPI(string name) { switch (name) { case "WorkOrderItemLaborQuantitySummary": return new WorkOrderItemLaborQuantitySummary() as IAyaKPI; case "WorkOrderUnscheduledOpenList": return new WorkOrderUnscheduledOpenList() as IAyaKPI; case "WorkOrderItemLaborQuantityEveryoneSummary": return new WorkOrderItemLaborQuantityEveryoneSummary() as IAyaKPI; case "CSROpenList": return new CSROpenList() as IAyaKPI; case "WorkOrderOverduePersonalList": return new WorkOrderOverduePersonalList() as IAyaKPI; case "WorkOrderOverdueAllList": return new WorkOrderOverdueAllList() as IAyaKPI; default: throw new System.NotImplementedException($"KPI {name} NOT IMPLEMENTED"); } //return null; } //List all the KPI types available internal static List GetListOfAllKPI() { List ret = new List(); ret.Add("WorkOrderItemLaborQuantitySummary"); ret.Add("WorkOrderUnscheduledOpenList"); return ret; } }//eoc }//eons