// 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)); }
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)); }
// 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)); }
// 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)); }
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)); }