/// <summary> /// Devuelve los sistemas de fases que utiliza la aplicación. /// </summary> /// <returns>Los sistemas de fases que utiliza la aplicación.</returns> public static IEnumerable <SistemaFases> GetApplicationSystemPhases() { SistemaFases[] sistemas = new SistemaFases[12]; TensionVal[] tensiones = new TensionVal[] { TensionVal.T_220, TensionVal.T_480, TensionVal.T_208, TensionVal.T_440 }; SistemaFases sys; for (int index = 0, i = 1; index < sistemas.Length; index++, i++) { if (index < 4) { sys = new SistemaTrifasico(); } else if (index < 8) { sys = new SistemaBifasico(); } else { sys = new SistemaMonofasico(); } sys.SetTension(tensiones[i - 1]); sistemas[index] = sys; if (i % 4 == 0) { i = 1; } } return(sistemas); }
/// <summary> /// Crea un sistema mediante un indice de selección /// </summary> /// <param name="sysIndex">El indice del sistema</param> /// <returns>El indice del sistema</returns> public static SistemaFases GetSystem(this int sysIndex) { SistemaFases sys; TensionVal[] tensiones = new TensionVal[] { TensionVal.T_220, TensionVal.T_480, TensionVal.T_208, TensionVal.T_440 }; if (sysIndex < 4) { sys = new SistemaTrifasico(); } else if (sysIndex < 8) { sys = new SistemaBifasico(); sysIndex -= 4; } else { sys = new SistemaMonofasico(); sysIndex -= 8; } sys.SetTension(tensiones[sysIndex]); return(sys); }