コード例 #1
0
        public ActionResult Edit(int?id, int?ScheduleRecordID)
        {
            PatientEditViewModel model = new PatientEditViewModel();

            if (id == null || id == 0)
            {
                model.CreateNewDentalCards();
                UserInfo userInfo = _UserInfoService.GetUserInfo(Int32.Parse(User.Identity.GetUserId()));
                if (userInfo != null)
                {
                    model.CountryId = userInfo.CountryId;
                    model.CityId    = userInfo.CityId;
                }
            }
            else
            {
                Patient patientInfo = _patientService.GetPatientInfo((int)id, Int32.Parse(User.Identity.GetUserId()));
                ViewBag.Debt = patientInfo.Debt;
                if (patientInfo == null)
                {
                    throw new HttpException(404, "Patient not found"); // TODO: need not found page
                }
                else
                {
                    model.FromEntity(patientInfo);
                }
            }
            model.ScheduleRecordId = ScheduleRecordID ?? 0;
            FillCountryAndCity(model);

            return(View(model));
        }
コード例 #2
0
ファイル: PatientsController.cs プロジェクト: esim7/_med
        public async Task <IActionResult> Edit(int id, PatientEditViewModel viewModel)
        {
            if (id != viewModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var patient = _map.Map <Patient>(viewModel);
                    await _uow.Patients.EditAsync(patient);

                    await _uow.Save();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PatientExists(viewModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewModel));
        }
コード例 #3
0
ファイル: Edit.cshtml.cs プロジェクト: adimgg/IMed
        public void OnGet(string id)
        {
            var userId  = "";
            var patient = new Models.Patient();
            var user    = new ApplicationUser();

            if (id == null)
            {
                userId  = User.FindFirstValue(ClaimTypes.NameIdentifier);
                patient = _context.Patient.Include(i => i.User).Include(c => c.MedicalHistory).Include(p => p.Picture).AsNoTracking().FirstOrDefault(i => i.Id == userId);
                user    = _context.Users.Where(u => u.Id == userId).AsNoTracking().SingleOrDefault();
            }
            if (id != null)
            {
                patient = _context.Patient.Include(i => i.User).Include(c => c.MedicalHistory).Include(p => p.Picture).AsNoTracking().FirstOrDefault(i => i.Id == id);
                user    = _context.Users.Where(u => u.Id == id).AsNoTracking().SingleOrDefault();
            }

            pictureBase64 = Convert.ToBase64String(patient.Picture.ImageData, 0, patient.Picture.ImageData.Length);

            patientView = new PatientEditViewModel
            {
                FirstName   = user.FirstName,
                LastName    = user.LastName,
                Email       = user.Email,
                PhoneNumber = user.PhoneNumber,
                Birthday    = patient.Birthday,
                Sex         = patient.Sex,
                Weigth      = patient.Weight,
                Heigth      = patient.Heigth,
                MedicalH    = patient.MedicalHistory,
                Id          = patient.Id,
                Picture     = patient.Picture
            };
        }
コード例 #4
0
 private void FillCountryAndCity(PatientEditViewModel model)
 {
     model.countryItems.AddRange(CountryAndCityHelper.GetCountryDropList());
     if (model.CountryId != null)
     {
         model.cityItems.AddRange(CountryAndCityHelper.GetCityDropList((int)model.CountryId));
     }
 }
コード例 #5
0
        public async Task <ActionResult> Edit(PatientEditViewModel model, CancellationToken cancellationToken)
        {
            if (ModelState.IsValid)
            {
                string newFileName;

                if (model.PatientId == 0)
                {
                    Patient patient = model.ToEntity(model, new Patient());
                    patient.UserId = Int32.Parse(User.Identity.GetUserId());

                    Patient newPatient = _patientService.Save(patient);
                    model.PatientId = newPatient.PatientId;
                    String newPhoto = SavePatientPhoto(model.UserPhoto, model.PatientId, model.Photo);
                    if (!String.IsNullOrEmpty(newPhoto))
                    {
                        model.Photo = newPhoto;
                    }

                    if (model.ScheduleRecordId > 0)
                    {
                        ScheduleRecord record = _scheduleService.GetScheduleRecord(Int32.Parse(User.Identity.GetUserId()), model.ScheduleRecordId);
                        if (record != null)
                        {
                            record.PatientId = newPatient.PatientId;
                            _scheduleService.Save(record);
                        }
                    }
                    _patientService.Save(newPatient);
                }
                else
                {
                    Patient oldPatientInfo = _patientService.GetPatientInfo(model.PatientId, Int32.Parse(User.Identity.GetUserId()));
                    if (oldPatientInfo == null)
                    {
                        throw new HttpException(404, "Patient not found"); // TODO: need not found patient page
                    }
                    else
                    {
                        Patient patient  = model.ToEntity(model, oldPatientInfo);
                        String  newPhoto = SavePatientPhoto(model.UserPhoto, model.PatientId, model.Photo);
                        if (!String.IsNullOrEmpty(newPhoto))
                        {
                            patient.Photo = newPhoto;
                        }
                        _patientService.Save(patient);
                    }

                    //return RedirectToAction("List");
                }

                return(RedirectToAction("Review", new { id = model.PatientId, }));
            }
            FillCountryAndCity(model);
            return(View(model));
        }
コード例 #6
0
        public async Task <ActionResult> Edit(PatientEditViewModel patient)
        {
            if (ModelState.IsValid)
            {
                var dbPatient = patient.MapToPatient();
                db.Entry(dbPatient).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(patient));
        }
コード例 #7
0
        public IHttpActionResult Put(int?id, PatientEditViewModel model)
        {
            if (id.HasValue)
            {
                Patient patient = DbContext.Patients.FirstOrDefault(p => p.Id == id);

                if (patient != null)
                {
                    if (ModelState.IsValid)
                    {
                        patient.FirstName    = model.FirstName;
                        patient.LastName     = model.LastName;
                        patient.Email        = model.Email;
                        patient.DateOfBirth  = model.DateOfBirth;
                        patient.HasInsurance = model.HasInsurance;

                        DbContext.SaveChanges();

                        PatientViewModel viewModel = new PatientViewModel
                        {
                            FirstName    = patient.FirstName,
                            LastName     = patient.LastName,
                            Email        = patient.Email,
                            DateOfBirth  = patient.DateOfBirth,
                            HasInsurance = patient.HasInsurance,
                            Id           = patient.Id,
                            Visits       = patient.Visits.Select(p => new VisitViewModel
                            {
                                Id        = p.Id,
                                Date      = p.Date,
                                Comment   = p.Comment,
                                PatientId = p.PatientId
                            }).ToList()
                        };

                        return(Ok(viewModel));
                    }
                    else
                    {
                        return(BadRequest("Patient info not valid"));
                    }
                }
                else
                {
                    return(NotFound());
                }
            }
            else
            {
                return(BadRequest("Patient id not valid"));
            }
        }
コード例 #8
0
        public void UpdatePatient(PatientEditViewModel model)
        {
            var patient = db.Patients.Include(c => c.Gender).SingleOrDefault(c => c.Id == model.PatientID);

            patient.Firstname   = model.Firstname;
            patient.Lastname    = model.Lastname;
            patient.Birthdate   = model.Birthdate;
            patient.GenderID    = model.GenderID;
            patient.PhoneNumber = model.PhoneNumber;
            patient.Address     = model.Address;

            db.SaveChanges();
        }
コード例 #9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="viewModel"></param>
        /// <returns></returns>
        public async Task UpdateByViewModelAsync(PatientEditViewModel viewModel)
        {
            // Check
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            // Process
            var patient = await _patients.FirstOrDefaultAsync(model => model.Id == viewModel.Id);

            _mapper.Map(viewModel, patient);
            await _unitOfWork.SaveAllChangesAsync(auditUserId : _httpContextManager.CurrentUserId());
        }
コード例 #10
0
        public ActionResult Create()
        {
            var doctors = repo.GetDoctors(null).
                          Select(d => new {
                DoctorId   = d.Id,
                DoctorName = d.Specialization.Name + " - " + d.Name
            }).
                          ToList();
            PatientEditViewModel patientEditViewModel = new PatientEditViewModel()
            {
                DoctorSelectList = new MultiSelectList(doctors, "DoctorId", "DoctorName")
            };

            return(View(patientEditViewModel));
        }
コード例 #11
0
        public ActionResult Edit(int id)
        {
            Patient patient = repo.GetPatient(id);

            if (patient == null)
            {
                return(new HttpNotFoundResult("Client not found."));
            }
            PatientEditViewModel patientEditViewModel = new PatientEditViewModel()
            {
                Patient          = patient,
                DoctorSelectList = GetDoctorsSelectList(patient.Doctors.Select(d => d.Id).ToArray <int>())
            };

            return(View(patientEditViewModel));
        }
コード例 #12
0
 public ActionResult Edit(PatientEditViewModel pacjent)
 {
     if (ModelState.IsValid)
     {
         var newData = new Patient()
         {
             ID       = pacjent.ID,
             LastName = pacjent.LastName,
             Name     = pacjent.Name
         };
         db.Entry(newData).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(pacjent));
 }
コード例 #13
0
        // GET: Patients/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Patient patient = db.Patients.SingleOrDefault(p => p.ID == id);

            if (patient == null)
            {
                return(HttpNotFound());
            }
            PatientTranslator    patientDeatilsTranslator = new PatientTranslator();
            PatientEditViewModel viewModel = patientDeatilsTranslator.ToPatientEditViewModel(patient);

            return(View(viewModel));
        }
コード例 #14
0
        public IActionResult Edit(PatientEditViewModel model, string submitButton)
        {
            if (ModelState.IsValid)
            {
                if (submitButton.Equals("potvrdi"))
                {
                    patientManagment.UpdatePatient(model);
                }
                else if (submitButton.Equals("ukloni"))
                {
                    patientManagment.DeletePatient(model.PatientID);
                }

                return(RedirectToAction("Index", "Patient"));
            }
            return(View(model));
        }
コード例 #15
0
        public PatientEditViewModel ToPatientEditViewModel(Patient patient)
        {
            PatientEditViewModel result;

            if (patient.PersonalDoctor != null)
            {
                result = new PatientEditViewModel
                {
                    ID                    = patient.ID,
                    FirstName             = patient.FirstName,
                    LastName              = patient.LastName,
                    DoctorFirstName       = patient.PersonalDoctor.FirstName,
                    DoctorLastName        = patient.PersonalDoctor.LastName,
                    PhoneNumber           = patient.PhoneNumber,
                    Email                 = patient.Email,
                    Address               = patient.Address,
                    DateOfBirth           = patient.DateOfBirth,
                    Height                = patient.Height,
                    Weight                = patient.Weight,
                    BloodType             = patient.BloodType,
                    PatientSocSecurityNum = patient.PatientSocialSecurityNumber
                };
            }
            else
            {
                result = new PatientEditViewModel
                {
                    ID                    = patient.ID,
                    FirstName             = patient.FirstName,
                    LastName              = patient.LastName,
                    PhoneNumber           = patient.PhoneNumber,
                    Email                 = patient.Email,
                    Address               = patient.Address,
                    DateOfBirth           = patient.DateOfBirth,
                    Height                = patient.Height,
                    Weight                = patient.Weight,
                    BloodType             = patient.BloodType,
                    PatientSocSecurityNum = patient.PatientSocialSecurityNumber
                };
            }

            return(result);
        }
コード例 #16
0
ファイル: View.cshtml.cs プロジェクト: adimgg/IMed
        public void OnGet(string id)
        {
            var temp = _context.Patient.Include(u => u.User).Include(m => m.MedicalHistory).Include(i => i.Picture).Where(p => p.Id == id).AsNoTracking().FirstOrDefault();

            base64 = Convert.ToBase64String(temp.Picture.ImageData);

            PatientV = new PatientEditViewModel()
            {
                FirstName   = temp.User.FirstName,
                LastName    = temp.User.LastName,
                Email       = temp.User.Email,
                PhoneNumber = temp.User.PhoneNumber,
                Birthday    = temp.Birthday,
                Sex         = temp.Sex,
                Weigth      = temp.Weight,
                Heigth      = temp.Heigth,
                MedicalH    = temp.MedicalHistory
            };
        }
コード例 #17
0
        public virtual async Task <ActionResult> Edit(PatientEditViewModel viewModel)
        {
            // Check
            if (viewModel == null)
            {
                return(View(MVC.Error.Views.BadRequest));
            }

            // Validation
            if (ModelState.IsValid == false)
            {
                return(View(MVC.Patient.Views.Create));
            }

            // Result
            await _patientService.UpdateByViewModelAsync(viewModel);

            this.AddToastMessage("ویرایش بیمار با موفقیت انجام شد", "", ToastType.Success);
            return(RedirectToAction(MVC.Patient.List()));
        }
コード例 #18
0
        // GET: Patient/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Patient pacjent = db.Pacjenci.Find(id);

            if (pacjent == null)
            {
                return(HttpNotFound());
            }
            var data = new PatientEditViewModel()
            {
                ID       = pacjent.ID,
                LastName = pacjent.LastName,
                Name     = pacjent.Name
            };

            return(View(data));
        }
コード例 #19
0
        /// <summary>
        /// Post method to create a patient
        /// </summary>
        /// <param name="model">
        /// model with patient info, first, last name and date of birth required
        /// </param>
        /// <returns>
        /// ok with patient
        /// </returns>
        public IHttpActionResult Post(PatientEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                Patient patient = new Patient
                {
                    FirstName    = model.FirstName,
                    LastName     = model.LastName,
                    Email        = model.Email,
                    DateOfBirth  = model.DateOfBirth,
                    HasInsurance = model.HasInsurance,
                };

                DbContext.Patients.Add(patient);
                DbContext.SaveChanges();

                PatientViewModel viewModel = new PatientViewModel
                {
                    FirstName    = patient.FirstName,
                    LastName     = patient.LastName,
                    Email        = patient.Email,
                    DateOfBirth  = patient.DateOfBirth,
                    HasInsurance = patient.HasInsurance,
                    Id           = patient.Id,
                    Visits       = patient.Visits.Select(p => new VisitViewModel
                    {
                        Id        = p.Id,
                        Date      = p.Date,
                        Comment   = p.Comment,
                        PatientId = p.PatientId
                    }).ToList()
                };

                return(Ok(viewModel));
            }
            else
            {
                return(BadRequest("Required Patient info missing."));
            }
        }
コード例 #20
0
        // GET: Patients/Edit/5
        public ActionResult Edit(int?id)

        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Patient patient = db.Patients
                              .Include(p => p.PersonalDoctor)
                              .SingleOrDefault(p => p.ID == id);

            if (patient == null)
            {
                return(HttpNotFound());
            }
            PatientTranslator    patientEditTranslator = new PatientTranslator();
            PatientEditViewModel viewModel             = new PatientEditViewModel();

            viewModel = patientEditTranslator.ToPatientEditViewModel(patient);
            viewModel.PersonalDoctorID = new SelectList(db.Doctors, "ID", "FullName", patient.PersonalDoctorID);
            return(View(viewModel));
        }
コード例 #21
0
        public ActionResult Edit(PatientEditViewModel editedPatiend)
        {
            Patient editingPatient = repo.GetPatient(editedPatiend.Id);

            if (editingPatient == null)
            {
                return(HttpNotFound());
            }
            if (ModelState.IsValid)
            {
                editingPatient.Name       = editedPatiend.Name;
                editingPatient.TaxCode    = editedPatiend.TaxCode;
                editingPatient.Status     = editedPatiend.Status;
                editingPatient.DayOfBirth = editedPatiend.DayOfBirth;
                editingPatient.Doctors.Clear();
                editingPatient.Doctors.AddRange(repo.GetDoctorsById(editedPatiend.SelectedDoctorsId.ToArray()));
                repo.Edit(editingPatient);
                return(RedirectToAction("Index"));
            }
            editedPatiend.DoctorSelectList = GetDoctorsSelectList(editingPatient.Doctors.Select(d => d.Id).ToArray <int>());
            return(View(editedPatiend));
        }
コード例 #22
0
        public ActionResult Edit(int?id, PatientEditViewModel viewModel)
        {
            Patient patientToUpdate = db.Patients.SingleOrDefault(p => p.ID == id);

            if (ModelState.IsValid)
            {
                patientToUpdate.FirstName = viewModel.FirstName;
                patientToUpdate.LastName  = viewModel.LastName;
                patientToUpdate.PatientSocialSecurityNumber = viewModel.PatientSocSecurityNum;
                patientToUpdate.PersonalDoctorID            = viewModel.SelectedDoctorID;
                patientToUpdate.Address     = viewModel.Address;
                patientToUpdate.PhoneNumber = viewModel.PhoneNumber;
                patientToUpdate.Email       = viewModel.Email;
                patientToUpdate.DateOfBirth = viewModel.DateOfBirth;
                patientToUpdate.BloodType   = viewModel.BloodType;
                patientToUpdate.Height      = viewModel.Height;
                patientToUpdate.Weight      = viewModel.Weight;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            viewModel.PersonalDoctorID = new SelectList(db.Doctors, "ID", "FirstName", patientToUpdate.PersonalDoctorID);
            return(View(viewModel));
        }
コード例 #23
0
        public ActionResult Create(PatientEditViewModel creatingPatient) //[Bind(Include = "Id,Name,DayOfBirth,Status,TaxCode, ")]
        {
            List <Doctor> docs = new List <Doctor>();

            if (creatingPatient.SelectedDoctorsId != null)
            {
                docs.AddRange(repo.GetDoctorsById(creatingPatient.SelectedDoctorsId.ToArray <int>()));
            }
            if (ModelState.IsValid)
            {
                Patient newPatient = new Patient
                {
                    Doctors    = docs,
                    DayOfBirth = creatingPatient.DayOfBirth,
                    Name       = creatingPatient.Name,
                    Status     = creatingPatient.Status,
                    TaxCode    = creatingPatient.TaxCode
                };
                repo.Add(newPatient);
                return(RedirectToAction("Index"));
            }
            creatingPatient.DoctorSelectList = GetDoctorsSelectList(creatingPatient.SelectedDoctorsId.ToArray <int>());
            return(View(creatingPatient));
        }
コード例 #24
0
        public ActionResult Review(int?id)
        {
            PatientEditViewModel model = new PatientEditViewModel();

            if (id != null && id != 0)
            {
                Patient patientInfo = _patientService.GetPatientInfo((int)id, Int32.Parse(User.Identity.GetUserId()));
                ViewBag.Debt = patientInfo.Debt;
                if (patientInfo == null)
                {
                    throw new HttpException(404, "Patient not found"); // TODO: need not found patient page
                }
                else
                {
                    model.FromEntity(patientInfo);
                    FillCountryAndCity(model);
                }
            }
            else
            {
                throw new HttpException(404, "Page not found");
            }
            return(View(model));
        }
コード例 #25
0
        public IActionResult Edit(int patientID)
        {
            var patient = patientManagment.GetPatient(patientID);
            var model   = new PatientEditViewModel()
            {
                Firstname   = patient.Firstname,
                Lastname    = patient.Lastname,
                Birthdate   = patient.Birthdate,
                GenderID    = patient.GenderID,
                PhoneNumber = patient.PhoneNumber,
                Address     = patient.Address,
                PatientID   = patientID
            };

            var genders = db.Genders.Select(c => new SelectListItem()
            {
                Value = c.Id.ToString(),
                Text  = c.Name.ToString()
            }).ToList();

            model.Genders = genders;

            return(View(model));
        }