Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }