public ExamBindingModel GetInfo(string id, IDictionary <string, string> dictionary)
        {
            ExamBindingModel model = Mapper.Map <ExamBindingModel>(DbContext.Visits.Include(v => v.Patient).First(v => v.Id == id));

            model.Facilities = dictionary;
            model.VisitId    = id;
            return(model);
        }
        public async Task <bool> IssueExam(ExamBindingModel model)
        {
            Visit currentVisit = DbContext.Visits.Find(model.VisitId);

            if (currentVisit is Visit v && currentVisit.ExamId is null)
            {
                Exam exam = Mapper.Map <Exam>(model);
                exam.StatusId = DbContext.ExamStatuses.First(es => es.Status == ExamStatuses.PENDING).Id;
                exam.IssuedOn = DateTime.Now;
                v.Exam        = exam;
                await DbContext.SaveChangesAsync();

                return(true);
            }
 public async Task <IActionResult> IssueExam(ExamBindingModel model) => await examService.IssueExam(model)
                         ? RedirectToPage("/Success")
                         : RedirectToPage("/Failiure", new { message = "Error issueing exam. There is already an exam" });