/// <summary>
 /// Basic constructor
 /// </summary>
 /// <param name="parentControlUnit">Control unit the event is triggered, i.e. the unit the staff member enters or leaves</param>
 /// <param name="isEnter">Flag if the event is called for an entering or leaving staff member</param>
 /// <param name="staff">The staff member that is entering or leaving</param>
 /// <param name="del">Delegate resposnible for the staff movement</param>
 /// <param name="staffArea">Possible waiting area the staff members waits in after arrival</param>
 public EventControlUnitStaffEnterLeave(ControlUnit parentControlUnit,
                                        bool isEnter, EntityStaff staff, IDelegate del, EntityWaitingArea staffArea = null)
     : base(EventType.Standalone, parentControlUnit)
 {
     _isEnter          = isEnter;
     _staff            = staff;
     _incomingDelegate = del;
     _staffWaitingArea = staffArea;
 } // end of EventInpatientStaffEnterLeave
Example #2
0
        } // end of StructuralArea

        /// <summary>
        /// Basic constructor intializing all types of resources
        /// </summary>
        /// <param name="identifier">Identifier of structural area</param>
        /// <param name="waitingAreaPatients">List of waiting areas in the structural area to be used by patients</param>
        /// <param name="multiplePatientsTreatmentFacilities">Treatment facilities of type EntityMultiplePatientTreatmentFacility</param>
        /// <param name="treatmentFacilities">Treatment facilities that are not for multiple patients</param>
        /// <param name="staffWaitingRoom">Staff waiting area, currently only one allowed per structural area</param>
        public StructuralArea(string identifier,
                              List <EntityWaitingArea> waitingAreaPatients,
                              List <EntityMultiplePatientTreatmentFacility> multiplePatientsTreatmentFacilities,
                              List <EntityTreatmentFacility> treatmentFacilities,
                              EntityWaitingArea staffWaitingRoom)
        {
            _identifier          = identifier;
            _waitingAreaPatients = waitingAreaPatients;
            _multiplePatientsTreatmentFacilities = multiplePatientsTreatmentFacilities;
            _treatmentFacilities = treatmentFacilities;
            _staffWaitingArea    = staffWaitingRoom;
        } // end of StructuralArea
        } // end of CreatePatient

        #endregion

        #region CreateWaitingRoom

        /// <summary>
        /// Creates a waiting room drawing object
        /// <param name="entity">Treatment facility entity</param>
        /// <returns>A drawing object visualizing a waiting room</returns>
        public DrawingObject CreateWaitingRoom(Entity entity)
        {
            EntityWaitingArea waitingArea = (EntityWaitingArea)entity;

            return(new DrawDynamicHoldingEntity(waitingArea, waitingArea.Position, waitingArea.Size, PersonSize, Colors.Gray));
        } // end of CreatePatient