Example #1
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));
        }
Example #2
0
        public ActionResult Create(PatientCreateViewModel viewModel)
        {
            PatientTranslator patientDataTranslator = new PatientTranslator();
            Patient           patient = patientDataTranslator.ToPatientDataModel(viewModel);

            viewModel.PersonalDoctorID = new SelectList(db.Doctors, "ID", "FullName", patient.PersonalDoctorID);

            if (ModelState.IsValid)
            {
                patient.PersonalDoctorID = viewModel.SelectedDoctorID;


                db.Patients.Add(patient);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }


            return(View(viewModel));
        }
Example #3
0
        // GET: Patients/Delete/5
        public ActionResult Delete(int?id)
        {
            PatientDeleteViewModel viewModel = new PatientDeleteViewModel();

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

            if (patient == null)
            {
                return(HttpNotFound());
            }
            PatientTranslator patientDeleteTranslator = new PatientTranslator();

            viewModel       = patientDeleteTranslator.ToPatientDeleteViewModel(patient);
            viewModel.Alert = "Are you sure you want to delete informations for patient " + viewModel.FullName + " ?";

            return(View(viewModel));
        }
Example #4
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));
        }
Example #5
0
        public ActionResult Index(string sort, string searchByName, int?page)
        {
            int pageSize   = 3;
            int pageNumber = (page ?? 1);
            PatientListViewModel viewModel     = new PatientListViewModel();
            IQueryable <Patient> patientsQuery = db.Patients
                                                 .Include(p => p.PersonalDoctor);

            if (!string.IsNullOrEmpty(searchByName))
            {
                patientsQuery = patientsQuery.Where(p => p.FirstName.Contains(searchByName) || p.LastName.Contains(searchByName));
            }

            switch (sort)
            {
            case "name_desc":
                patientsQuery = patientsQuery.OrderByDescending(p => p.LastName).ThenByDescending(p => p.FirstName);
                break;

            default:
                patientsQuery = patientsQuery.OrderBy(p => p.LastName).ThenBy(p => p.FirstName);
                break;
            }

            PatientTranslator patientTranslator = new PatientTranslator();

            viewModel.Patients = patientsQuery
                                 .Select(patientTranslator.ToViewModel)
                                 .ToPagedList(pageNumber, pageSize);

            viewModel.CurrentSort = sort;
            viewModel.SortByname  = string.IsNullOrEmpty(sort) ? "name_desc" : "";
            viewModel.NameFilter  = searchByName;

            return(View(viewModel));
        }