private void SelectObjectsForVisit(NewPatientVisitViewModel patientVM,
                                           List <IGrouping <string, PatientExamination> > patientExaminations)
        {
            InitViewBags();
            foreach (var group in patientExaminations)
            {
                foreach (PatientExamination examination in group)
                {
                    switch (examination.Discriminator)
                    {
                    case "MeasurementExamination":
                        var measurement = (MeasurementExamination)examination;
                        ViewBag.SelectedMeasurements.Add(examination.PatientMeasurementId);
                        break;

                    case "SGRQExamination":
                        var sgrq = (SGRQExamination)examination;
                        ViewBag.SelectedSGRQ.Add(examination.PatientSTGQuestionnaireId);
                        break;

                    case "ImmunologyExamination":
                        var ig = (ImmunologyExamination)examination;
                        ViewBag.SelectedIg.Add(examination.PatientImmunoglobulinId);
                        break;

                    case "RadiologyExamination":
                        var rad = (RadiologyExamination)examination;
                        ViewBag.SelectedRadiology.Add(examination.PatientRadiologyFinidingId);
                        break;
                    }
                }
            }
        }
        public async Task <IActionResult> ExaminationsTabs(int patientId)
        {
            _patientVisitManager = new PatientVisitManager(_context, ViewBag);
            var patientVM = await NewPatientVisitViewModel.BuildPatientVisitVM(_context, patientId);

            InitViewBags();
            return(PartialView(patientVM));
        }
 private void GetPatientExaminationsWithVisitViewModel(int id,
                                                       PatientVisit patientVisit,
                                                       out NewPatientVisitViewModel patientVM,
                                                       out List <IGrouping <string, PatientExamination> > patientExaminations)
 {
     patientVM           = NewPatientVisitViewModel.BuildPatientVisitVM(_context, patientVisit.PatientId, patientVisit.VisitDate).Result;
     patientVM.Patient   = _context.Patients.Where(p => p.ID == patientVisit.PatientId).SingleOrDefault();
     patientExaminations = _patientVisitManager.GetPatientExaminationsForVisitWithRelatedData(patientVisit.ID);
     SelectObjectsForVisit(patientVM, patientExaminations);
 }