private Capability GetCapabilitiesOfARoom(TreatmentRoom room) { return(HospitalConfiguration.GetInstance() .TreatmentMachines .Where(tm => tm.Name == room.TreatmentMachine) .Select(rm => rm.Capability) .ToList() .First()); }
public void Test_AddPatient() { Patient patient = new Patient(); HospitalConfiguration hospitalConfiguration = HospitalConfiguration.GetInstance(); HospitalService.AddPatient(patient); Assert.AreEqual(hospitalConfiguration.Patients[0], patient); Assert.AreEqual(hospitalConfiguration.Patients.Count, 1); }
public void Test_AddConsultation() { HospitalConfiguration hospitalConfiguration = HospitalConfiguration.GetInstance(); Consultation consultation = new Consultation(); ConsultationService.AddConsultation(consultation); Assert.AreEqual(hospitalConfiguration.Consultations[0], consultation); Assert.AreEqual(hospitalConfiguration.Consultations.Count, 1); }
/// <summary> /// Displays all the consulations in the hospital. /// </summary> public static void ShowConsultations() { Console.Clear(); if (HospitalConfiguration.GetInstance().Consultations.Count() == 0) { Console.WriteLine("No scheduled consultations yet."); return; } HospitalConfiguration.GetInstance().Consultations.ForEach(consultation => ConsultationHelper.PrintConsultationInfo(consultation)); }
/// <summary> /// Displays all the registered patients in the hospital. /// </summary> public static void ShowRegisteredPatients() { if (!Console.IsOutputRedirected) { Console.Clear(); } if (HospitalConfiguration.GetInstance().Patients.Count() == 0) { Console.WriteLine("No registered patients yet."); return; } HospitalConfiguration.GetInstance().Patients.ForEach(patient => PatientHelper.PrintPatientInfo(patient)); }
private void AddMachineRooms(ref List <TreatmentRoom> rooms, List <Capability> capabilities, bool treatmentMachineNeeded) { HospitalConfiguration hc = HospitalConfiguration.GetInstance(); List <TreatmentRoom> allRooms = hc.TreatmentRooms; if (treatmentMachineNeeded) { rooms = allRooms.Where(tr => tr.TreatmentMachine != null) .Where(tr => capabilities.Contains(GetCapabilitiesOfARoom(tr))) .ToList(); } else { rooms = allRooms; } }
/// <summary> /// Schedule a patient /// </summary> /// <param name="patient"></param> /// <param name="registrationDay"></param> /// <returns></returns> public Consultation Schedule(Patient patient, int registrationDay) { List <TreatmentRoom> rooms = new List <TreatmentRoom>(); List <Doctor> doctors = new List <Doctor>(); HospitalConfiguration hc = HospitalConfiguration.GetInstance(); if (patient.Condition.conditionType.Equals(ConditionType.Cancer)) { AddDoctors(Role.Oncologist, ref doctors); if (((CancerCondition)patient.Condition).TopographyType.Equals(TopographyType.HeadAndNeck)) { List <Capability> capabilities = new List <Capability>(); capabilities.Add(Capability.Advanced); AddMachineRooms(ref rooms, capabilities, true); } else { List <Capability> capabilities = new List <Capability>(); capabilities.Add(Capability.Simple); capabilities.Add(Capability.Advanced); AddMachineRooms(ref rooms, capabilities, true); } } else { AddDoctors(Role.GeneralPractitioner, ref doctors); AddMachineRooms(ref rooms, new List <Capability>(), false); } try { Consultation consultation = ScheduleConsultation(rooms, doctors, registrationDay + 1); consultation.patient = patient; return(consultation); } catch (InvalidOperationException e) { Console.WriteLine(e.Message); throw e; } }
/// <summary> /// Add Consultation adds a consultation to the hospital configuration. /// </summary> /// <param name="consultation"></param> public static void AddConsultation(Consultation consultation) { HospitalConfiguration hospitalConfiguration = HospitalConfiguration.GetInstance(); hospitalConfiguration.Consultations.Add(consultation); }
/// <summary> /// Adds a patient to the hospital configuration. /// </summary> /// <param name="patient"></param> public static void AddPatient(Patient patient) { HospitalConfiguration.GetInstance().Patients.Add(patient); }
/// <summary> /// Initializes hospital configuration. /// </summary> private static void InitializeHospitalConfiguration() { HospitalConfiguration.SetInstance(JsonHelper.ReadJsonFile()); }
private void AddDoctors(Role role, ref List <Doctor> doctors) { HospitalConfiguration hc = HospitalConfiguration.GetInstance(); doctors = hc.Doctors.Where(d => d.Roles.Contains(role)).ToList(); }