Files
raven/server/AyaNova/kpi/KPIFactory.cs
2022-03-03 19:25:18 +00:00

54 lines
2.1 KiB
C#

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<string> GetListOfAllKPI()
// {
// List<string> ret = new List<string>();
// ret.Add("WorkOrderItemLaborQuantitySummary");
// ret.Add("WorkOrderUnscheduledOpenList");
// return ret;
// }
}//eoc
}//eons