// Show the visitations of a patient public ActionResult Visitations(int patientId) { Patient patient = _patientRepository.GetPatient(patientId); List <Doctor> doctors = new List <Doctor>(); IEnumerable <Visitation> visitationsForPatient = _visitationManagementService.GetVisitationsForPatient(patient.PatientId); visitationsForPatient.ForEach(v => doctors.Add(_doctorRepository.GetDoctor(v.DoctorId))); VisitationViewModel visitationViewModel = new VisitationViewModel { Patient = patient, Visitations = visitationsForPatient, DoctorList = doctors, Medications = new List <SingleMedicationModel>() }; foreach (Visitation visitation in visitationsForPatient) { IEnumerable <Medication> medicationsForVisitation = _visitationManagementService.GetMedicationsForVisitation(visitation.VisitationId); foreach (Medication medication in medicationsForVisitation) { SingleMedicationModel singleMedication = new SingleMedicationModel { DateTime = visitation.DateTime, Reason = visitation.Reason, Medication = medication, VisitationId = visitation.VisitationId }; visitationViewModel.Medications.Add(singleMedication); } } return(View(visitationViewModel)); }
// Show the visitations of a doctor public ActionResult DoctorVisitations(int doctorId) { Doctor doctor = _doctorRepository.GetDoctor(doctorId); IEnumerable <Visitation> visitationsForDoctor = _visitationManagementService.GetVisitationsForDoctor(doctor.DoctorId); List <Patient> patients = new List <Patient>(); foreach (Visitation visitation in visitationsForDoctor) { patients.Add(_patientRepository.GetPatients().First(d => d.PatientId == visitation.PatientId)); } VisitationViewModel visitationViewModel = new VisitationViewModel { Visitations = visitationsForDoctor, Doctor = doctor, PatientList = patients, Medications = new List <SingleMedicationModel>() }; foreach (Visitation visitation in visitationsForDoctor) { IEnumerable <Medication> medicationsForVisitation = _visitationManagementService.GetMedicationsForVisitation(visitation.VisitationId); foreach (Medication medication in medicationsForVisitation) { SingleMedicationModel singleMedication = new SingleMedicationModel { DateTime = visitation.DateTime, Reason = visitation.Reason, Medication = medication, VisitationId = visitation.VisitationId }; visitationViewModel.Medications.Add(singleMedication); } } return(View(visitationViewModel)); }
// Show patient's visitations of a specific doctor public ActionResult PatientVisitations(int doctorId, int patientId) { Doctor doctor = _doctorRepository.GetDoctor(doctorId); Patient patient = _patientRepository.GetPatient(patientId); IEnumerable <Visitation> visitations = _visitationManagementService.GetVisitationsForPatient(patientId).Where(v => v.DoctorId == doctorId); VisitationViewModel visitationViewModel = new VisitationViewModel { Patient = patient, Visitations = visitations, Doctor = doctor, Medications = new List <SingleMedicationModel>() }; foreach (Visitation visitation in visitations) { IEnumerable <Medication> medicationsForVisitation = _visitationManagementService.GetMedicationsForVisitation(visitation.VisitationId); foreach (Medication medication in medicationsForVisitation) { SingleMedicationModel singleMedication = new SingleMedicationModel { DateTime = visitation.DateTime, Reason = visitation.Reason, Medication = medication, VisitationId = visitation.VisitationId }; visitationViewModel.Medications.Add(singleMedication); } } return(View(visitationViewModel)); }