public ActionResult Edit(int id)
        {
            using (var db = new PatientsDbContext())
            {
                var patient = db.Patients.Find(id);

                if (patient == null || !IsAuthorizedToEdit(patient))
                {
                    return(HttpNotFound());
                }

                var patientEditModel = new PatientsEditModel
                {
                    Id        = patient.Id,
                    Age       = patient.Age,
                    Name      = patient.Name,
                    Gender    = patient.Gender,
                    Condition = patient.Condition,
                    Status    = patient.Status,
                    Room      = patient.Room,
                    ImagePath = patient.ImagePath
                };
                return(View(patientEditModel));
            }
        }
        public ActionResult Edit(PatientsEditModel model, HttpPostedFileBase image)
        {
            if (ModelState.IsValid)
            {
                using (var db = new PatientsDbContext())
                {
                    var patient = db.Patients.Find(model.Id);

                    if (patient == null || !IsAuthorizedToEdit(patient))
                    {
                        return(HttpNotFound());
                    }

                    patient.Id        = model.Id;
                    patient.Name      = model.Name;
                    patient.ImagePath = model.ImagePath;
                    patient.Room      = model.Room;
                    patient.Age       = model.Age;
                    patient.Status    = model.Status;
                    patient.Gender    = model.Gender;
                    patient.Condition = model.Condition;

                    if (image != null)
                    {
                        var allowedContentTypes = new[] { "image/jpeg", "image/jpg", "image/png" };

                        if (allowedContentTypes.Contains(image.ContentType))
                        {
                            var imagesPath = "/Content/Images/";

                            var fileName     = image.FileName;
                            var uploadPath   = imagesPath + fileName;
                            var physicalPath = Server.MapPath(uploadPath);

                            image.SaveAs(physicalPath);
                            patient.ImagePath = uploadPath;
                        }
                    }

                    db.SaveChanges();
                }

                return(RedirectToAction("Details", new { id = model.Id }));
            }
            return(View(model));
        }