} // end of StructuralAreas #endregion //-------------------------------------------------------------------------------------------------- // Methods //-------------------------------------------------------------------------------------------------- #region AddChildOrganizationalControls /// <summary> /// Adds a child organiaztional control unit and the entire sub tree represented by it to the department /// </summary> /// <param name="childOrgControl">The child organizational control</param> private void AddChildOrganizationalControls(ControlUnitOrganizationalUnit childOrgControl) { _organizationalUnitsPerName.Add(childOrgControl.Name, childOrgControl); foreach (ControlUnitOrganizationalUnit childOrg in childOrgControl.ChildOrganizationalUnits) { AddChildOrganizationalControls(childOrg); } // end foreach } // end of AddChildOrganizationalControls
//-------------------------------------------------------------------------------------------------- // Constructor //-------------------------------------------------------------------------------------------------- #region Constructor /// <summary> /// Basic constructor /// </summary> /// <param name="name">String identifier of control unit</param> /// <param name="parentControlUnit">Parent control, either a department control or another organizational control</param> /// <param name="parentDepartmentControl">Parent department control</param> /// <param name="parentSimulationModel">Parent simulation model</param> /// <param name="inputData">Parent department input</param> public ControlUnitOrganizationalUnit(string name, ControlUnit parentControlUnit, ControlUnitHealthCareDepartment parentDepartmentControl, SimulationModel parentSimulationModel, IInputHealthCareDepartment inputData) : base(ControlUnitType.OrganizationalUnit, name, parentControlUnit, parentSimulationModel) { _parentDepartmentControl = parentDepartmentControl; _childOrganizationalUnits = new ControlUnitOrganizationalUnit[] { }; _assingedTreatmentFacilities = new List <EntityTreatmentFacility>(); _inputData = inputData; } // end of
/// <summary> /// Bsaic constructor /// </summary> /// <param name="type">Type of health care control unit</param> /// <param name="name">String identifier of control unit</param> /// <param name="parentControlUnit">Parent control unit if this is not the root control unit of the control tree</param> /// <param name="parentSimulationModel">Parent simulation model</param> /// <param name="inputData">Input data for the department</param> public ControlUnitHealthCareDepartment(ControlUnitType type, string name, ControlUnit parentControlUnit, SimulationModel parentSimulationModel, IInputHealthCareDepartment inputData) : base(type, name, parentControlUnit, parentSimulationModel) { _childOrganizationalUnits = new ControlUnitOrganizationalUnit[] { }; _organizationalUnitsPerName = new Dictionary <string, ControlUnitOrganizationalUnit>(); _inputData = inputData; } // end of ControlUnitHealthCare