public ActionResult DeletePatientLabTest(int id) { ViewBag.MenuItem = CurrentMenuItem; var returnUrl = (Request.UrlReferrer ?? (object)string.Empty).ToString(); TempData["returnUrl"] = returnUrl; ViewBag.ReturnUrl = returnUrl; var patientLabTest = unitOfWork.Repository <PatientLabTest>() .Queryable() .Include(i => i.Patient) .Include(i => i.LabTest) .Include(i => i.TestUnit) .SingleOrDefault(p => p.Id == id); if (patientLabTest == null) { ViewBag.Entity = "Patient Lab Test"; return(View("NotFound")); } // Prepare model var model = new PatientLabTestDeleteModel { PatientFullName = patientLabTest.Patient.FullName, PatientLabTestId = patientLabTest.Id, LabTest = patientLabTest.LabTest.Description, TestDate = patientLabTest.TestDate, TestResult = patientLabTest.TestResult, LabValue = patientLabTest.LabValue, LabTestUnit = patientLabTest.TestUnit != null ? patientLabTest.TestUnit.Description : "", ReferenceLower = patientLabTest.ReferenceLower, ReferenceUpper = patientLabTest.ReferenceUpper }; return(View(model)); }
public ActionResult DeletePatientLabTest(PatientLabTestDeleteModel model) { ViewBag.MenuItem = CurrentMenuItem; var returnUrl = (TempData["returnUrl"] ?? string.Empty).ToString(); ViewBag.ReturnUrl = returnUrl; var patientLabTestRepository = unitOfWork.Repository <PatientLabTest>(); var patientLabTest = patientLabTestRepository.Queryable() .Include(x => x.Patient) .Include(x => x.LabTest) .Include(x => x.TestUnit) .FirstOrDefault(x => x.Id == model.PatientLabTestId); if (patientLabTest != null) { var user = GetCurrentUser(); if (user != null) { if (ModelState.IsValid) { var reason = model.ArchiveReason ?? "** NO REASON SPECIFIED ** "; patientLabTest.Archived = true; patientLabTest.ArchivedDate = DateTime.Now; patientLabTest.ArchivedReason = reason; patientLabTest.AuditUser = user; try { patientLabTestRepository.Update(patientLabTest); unitOfWork.Complete(); HttpCookie cookie = new HttpCookie("PopUpMessage"); cookie.Value = "Test and procedure deleted successfully"; Response.Cookies.Add(cookie); //return Redirect(returnUrl); return(Redirect("/Patient/PatientView.aspx?pid=" + patientLabTest.Patient.Id.ToString())); } catch (DbEntityValidationException ex) { var err = string.Empty; foreach (var eve in ex.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { err += String.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } ModelState.AddModelError("ArchiveReason", string.Format("Unable to delete the Patient Condition: {0}", err)); } } } } TempData["returnUrl"] = returnUrl; return(View(model)); }