//Method for add patient in hospital public bool AddPatient(Patient patientAdd) { try { //Validation for elected internal structur if (patientAdd.infected) { if (beadsAvailable <= 10) { Storage.Instance.bedsTable.insert(patientAdd.DPI, patientAdd); } else { attendedPatients.EnqueuePatient(patientAdd, Patient.compareByName, Patient.compareByHour); } } else { if (waitingPatients.isEmpty()) { waitingPatients = new AVLStructure <Patient>(); waitingPatients.addElement(patientAdd, Patient.compareByDPI); } else { waitingPatients.addElement(patientAdd, Patient.compareByDPI); } } return(true); }catch { return(false); } }
//Class constructor public Hospital() { waitingPatients = new AVLStructure <Patient>(); attendedPatients = new PriorityQueue <Patient>(); }