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; case "WorkOrderByStatusList": return new WorkOrderByStatusList() as IAyaKPI; case "WorkOrderCreatedCount": return new WorkOrderCreatedCount() as IAyaKPI; case "WorkOrderStatusCount": return new WorkOrderStatusCount() as IAyaKPI; case "WorkOrderStatusPct": return new WorkOrderStatusPct() as IAyaKPI; case "WorkOrderCompletedOnTimePct": return new WorkOrderCompletedOnTimePct() 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