public ActionResult Create(ExaminationCRUViewModel viewModel) { //var file = new file //{ // id = viewmodel.examfile.id, // contenttype = viewmodel.examfile.fileupload.contenttype //}; ExaminationTranslator examTranslator = new ExaminationTranslator(); List <File> files = new List <File>(); Examination exam = examTranslator.ToExaminationDataModel(viewModel, files); viewModel.ExamDoctorID = new SelectList(db.Doctors, "ID", "FullName", exam.DoctorID); viewModel.PatientID = new SelectList(db.Patients, "ID", "FullName", exam.PatientID); if (ModelState.IsValid) { FileManipulation fileUploader = new FileManipulation(); fileUploader.FileUpload(files, viewModel.File.MultipleFileUpload); foreach (File file in files) { db.Files.Add(file); } exam.Files = files; exam.DoctorID = viewModel.SelectedDoctorID; exam.PatientID = viewModel.SelectedPatientID; db.Examinations.Add(exam); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(viewModel)); }
public ActionResult ExaminationList(int?doctorId, string sort, string searchPatient, int?page) { int pageSize = 2; int pageNumber = (page ?? 1); Doctor doctor = db.Doctors.SingleOrDefault(d => d.ID == doctorId); IQueryable <Examination> examinationQuery = db.Examinations .Include(exam => exam.Doctor) .Include(exam => exam.Patient); DoctorsExaminationListViewModel viewModel = new DoctorsExaminationListViewModel(); ExaminationTranslator examTranslator = new ExaminationTranslator(); if (!string.IsNullOrEmpty(searchPatient)) { examinationQuery = examinationQuery .Where(exam => exam.Patient.FirstName.Contains(searchPatient) || exam.Patient.LastName.Contains(searchPatient)); } examinationQuery = examinationQuery.Where(exam => exam.DoctorID == doctorId); var singleDoctorExaminationQuery = examinationQuery .Select(examTranslator.ToDoctorsExaminationsViewModel); switch (sort) { case "date_asc": singleDoctorExaminationQuery = singleDoctorExaminationQuery.OrderBy(exam => exam.ExamDate); break; case "Name": singleDoctorExaminationQuery = singleDoctorExaminationQuery.OrderBy(exam => exam.PatientLastName).ThenBy(exam => exam.PatientFirstName); break; case "name_desc": singleDoctorExaminationQuery = singleDoctorExaminationQuery.OrderByDescending(exam => exam.PatientLastName).ThenByDescending(exam => exam.PatientFirstName); break; default: singleDoctorExaminationQuery = singleDoctorExaminationQuery.OrderByDescending(exam => exam.ExamDate); break; } viewModel.Examinations = singleDoctorExaminationQuery .ToPagedList(pageNumber, pageSize); viewModel.SortByDate = string.IsNullOrEmpty(sort) ? "date_asc" : ""; viewModel.SortByPatientName = sort == "Name" ? "name_desc" : "Name"; viewModel.CurrentSort = sort; viewModel.PatientFilter = searchPatient; viewModel.DoctorName = doctor.FirstName + " " + doctor.LastName; viewModel.DoctorID = doctorId; return(View("Examinations", viewModel)); }
public ActionResult Index(string sort, string searchByPatientName, string searchByDoctorName, int?page) { int pageSize = 3; int pageNumber = (page ?? 1); ExaminationListViewModel viewModel = new ExaminationListViewModel(); IQueryable <Examination> examinationsQuery = db.Examinations .Include(exam => exam.Doctor) .Include(exam => exam.Patient); if (!string.IsNullOrEmpty(searchByDoctorName)) { examinationsQuery = examinationsQuery .Where(exam => exam.Doctor.FirstName.Contains(searchByDoctorName) || exam.Doctor.LastName.Contains(searchByDoctorName)); } if (!string.IsNullOrEmpty(searchByPatientName)) { examinationsQuery = examinationsQuery .Where(exam => exam.Patient.FirstName.Contains(searchByPatientName) || exam.Patient.LastName.Contains(searchByPatientName)); } switch (sort) { case "date_asc": examinationsQuery = examinationsQuery.OrderBy(exam => exam.DateOfVisit); break; default: examinationsQuery = examinationsQuery.OrderByDescending(exam => exam.DateOfVisit); break; } ExaminationTranslator examTranslator = new ExaminationTranslator(); viewModel.Examinations = examinationsQuery .Select(examTranslator.ToViewListModel) .ToPagedList(pageNumber, pageSize); viewModel.CurrentSort = sort; viewModel.SortByDate = string.IsNullOrEmpty(sort) ? "date_asc" : ""; viewModel.DoctorNameFilter = searchByDoctorName; viewModel.PatientNameFilter = searchByPatientName; return(View(viewModel)); }
// GET: Examinations/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Examination examination = db.Examinations.SingleOrDefault(exam => exam.ID == id); if (examination == null) { return(HttpNotFound()); } ExaminationTranslator examDeleteTranslator = new ExaminationTranslator(); ExaminationDeleteViewModel viewModel = examDeleteTranslator.ToExamDeleteViewModel(examination); return(View(viewModel)); }
public ActionResult ExaminationList(int?patientId, string sort, string searchByDoctorName, int?page) { int pageSize = 2; int pageNumber = (page ?? 1); Patient patient = db.Patients.SingleOrDefault(p => p.ID == patientId); IQueryable <Examination> examinationsQuery = db.Examinations .Include(exam => exam.Doctor) .Include(exam => exam.Patient); PatientExaminationsListViewModel viewModel = new PatientExaminationsListViewModel(); ExaminationTranslator patientExaminationTranslator = new ExaminationTranslator(); if (!string.IsNullOrEmpty(searchByDoctorName)) { examinationsQuery = examinationsQuery .Where(exam => exam.Doctor.FirstName.Contains(searchByDoctorName) || exam.Doctor.LastName.Contains(searchByDoctorName)); } examinationsQuery = examinationsQuery.Where(exam => exam.PatientID == patientId); var singlePatientExaminationQuery = examinationsQuery .Select(patientExaminationTranslator.ToPatientsExaminationsViewModel); switch (sort) { case "date_asc": singlePatientExaminationQuery = singlePatientExaminationQuery.OrderBy(exam => exam.ExamDate); break; default: singlePatientExaminationQuery = singlePatientExaminationQuery.OrderByDescending(exam => exam.ExamDate); break; } viewModel.Examinations = singlePatientExaminationQuery.ToPagedList(pageNumber, pageSize); viewModel.PatientFirstName = patient.FirstName; viewModel.PatientLastName = patient.LastName; viewModel.SortByDate = string.IsNullOrEmpty(sort) ? "date_asc" : ""; viewModel.CurrentSort = sort; viewModel.DoctorNameFilter = searchByDoctorName; return(View("ExaminationList", viewModel)); }
// GET: Examinations/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Examination exam = db.Examinations .Include(e => e.Doctor) .Include(e => e.Patient) .Include(e => e.Files) .SingleOrDefault(e => e.ID == id); if (exam == null) { return(HttpNotFound()); } ExaminationTranslator examTranslator = new ExaminationTranslator(); ExaminationCRUViewModel viewModel = new ExaminationCRUViewModel(); viewModel = examTranslator.ToCRUViewModel(exam); viewModel.ExamDoctorID = new SelectList(db.Doctors, "ID", "FullName", exam.DoctorID); viewModel.PatientID = new SelectList(db.Patients, "ID", "FullName", exam.PatientID); return(View(viewModel)); }