public async Task <IActionResult> Create(PatientExaminationViewModel patientExamVM) { try { if (ModelState.IsValid) { int id = await PatientsHelper.AddPatientExAsync(patientExamVM); await AppDataHelper.CheckReagentsStockAsync(_context); if (!Request.Cookies.ContainsKey("reagentAlert")) { Response.Cookies.Append("reagentAlert", "true", new CookieOptions { Expires = DateTime.Now.AddMinutes(10) }); } return(RedirectToAction(nameof(Details), new { id = id })); } } catch (DbUpdateException) { //Log the error ModelState.AddModelError("", "Unable to save changes. " + "Try again, and if the problem persists " + "see your system administrator."); } return(RedirectToAction(nameof(Create), new { id = patientExamVM.PatientID })); }
private static PatientExamination SimplifyPE(PatientExaminationViewModel patientExaminationViewModel) { return(new PatientExamination() { PatientID = patientExaminationViewModel.PatientID ?? default, ExaminationID = patientExaminationViewModel.ExaminationID, DateOfExamination = patientExaminationViewModel.DateOfExamination.ToUniversalTime(), DateOfIssue = DateTime.UtcNow, ResultsReceived = false, ExaminationFinished = false });
public static async Task <int> AddPatientExAsync(PatientExaminationViewModel patientExaminationVM) { PatientExamination patientExamination = SimplifyPE(patientExaminationVM); _context.PatientExaminations.Add(patientExamination); if (await _context.ExaminationReagents.Where(e => e.ExaminationID == patientExamination.ExaminationID).AnyAsync()) { ReagentHelper.Init(_context); await ReagentHelper.ReduceReagentsAsync(patientExamination.ExaminationID); } await _context.SaveChangesAsync(); return(patientExamination.ID); }
// GET: PatientExaminations/Create public async Task <IActionResult> Create(int?id) { ViewBag.Examinations = _context.Examinations.Select(e => new SelectListItem() { Value = e.ID.ToString(), Text = e.ExCode + " | " + e.Name }); if (id == null) { ViewBag.Patients = _context.Patients.Select(p => new SelectListItem() { Value = p.ID.ToString(), Text = p.InsuranceNumber + " | " + p.LastName + ", " + p.FirstName }); return(View()); } else { PatientExaminationViewModel patientExamination = await PatientsHelper.GetPatientExByIdAsync((int)id); return(View(patientExamination)); } }