54 lines
2.1 KiB
C#
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 |