/// <summary> /// /// </summary> /// <param name="header"></param> public static void AddOutputOutputElements(List <OutputDataElement> Outputs, Type controllerType, List <Simulation> simulations, bool useSuffix) { if (!useSuffix) { HLController controller = null; if (controllerType.GetProperty("ChildControllers") == null) { controller = (HLController)simulations.SelectMany(y => y.ActiveControlllers.Where(x => x.GetType() == controllerType)).FirstOrDefault(); } else { //List<HLObjectController> controllers = (List<HLObjectController>)simulations.SelectMany(s => s.ActiveControlllers.Where(x => x.GetType() == controllerType)); List <HLController> controllers = new List <HLController>(simulations.SelectMany(s => s.ActiveControlllers.Where(x => x.GetType() == controllerType))); if (controllers != null && controllers.Count >= 1) { controller = ((HLObjectController)controllers[0]).ChildControllers[0]; } } AddOutputElements(Outputs, controller, useSuffix); } else { //Need to check for child controllers List <HLController> objectControllers = new List <HLController>(simulations.SelectMany(y => y.ActiveControlllers.Where(x => x.GetType() == controllerType))); List <HLController> controllers = new List <HLController>(objectControllers.SelectMany(o => ((HLObjectController)o).ChildControllers).DistinctBy(x => x.Name)); foreach (HLController hlc in controllers) { AddOutputElements(Outputs, hlc, useSuffix); } } }
/// <summary> /// /// </summary> /// <param name="controller"></param> /// <param name="useSuffix"></param> public static void AddOutputElements(List <OutputDataElement> Outputs, HLController controller, bool useSuffix) { if (controller == null) { return; } Outputs.AddRange(controller.Sim.OutputModelController.GetOutputs(controller.Output, useSuffix)); }
/// <summary> /// /// </summary> /// <param name="header"></param> public static void AddOutputHeader(List <OutputDataElement> Outputs, Type controllerType, Simulation simulation, bool useSuffix) { HLController controller = (HLController)simulation.ActiveControlllers.Where(x => x.GetType() == controllerType).FirstOrDefault(); AddOutputElements(Outputs, controller, useSuffix); }