// GET: WOFilter public ActionResult Index(VisitFilterViewModel vm) { /*if (vm == null) * { * vm = new VisitFilterViewModel(); * } * * vm.Issuers = DB.Employees.Where(e => e.Title == Employee.JobTitle.Doctor || e.Title == Employee.JobTitle.Head).ToList(); * vm.Patients = DB.Patients.ToList(); * vm.Nurse = vm.NurseReplacement = DB.Employees.Where(e => e.Title == Employee.JobTitle.HealthNurse).ToList(); * * vm.Visits = DB.Visits.ToList(); * * * CheckForRole(vm);*/ return(Filter(vm)); }
public void CheckForRole(VisitFilterViewModel vm) { if (Session["user"] != null) { Models.User sessionUser = Session["user"] as Models.User; if (sessionUser.Employee != null) { if (sessionUser.Employee.JobTitle.Title == JobTitle.HealthNurse) { vm.SelectedNurseId = vm.SelectedNurseReplacementId = sessionUser.Employee.EmployeeId; vm.SelectedNurseReplacementId = vm.SelectedNurseId; vm.Nurse = vm.Nurse.Where(n => n.EmployeeId == vm.SelectedNurseId).ToList(); vm.NurseReplacement = vm.NurseReplacement.Where(n => n.EmployeeId == vm.SelectedNurseReplacementId).ToList(); } else if (sessionUser.Employee.JobTitle.Title == JobTitle.Doctor) { vm.SelectedIssuerId = sessionUser.Employee.EmployeeId; vm.Issuers = vm.Issuers.Where(i => i.EmployeeId == vm.SelectedIssuerId).ToList(); } } } }
public ActionResult Filter(VisitFilterViewModel vm) { if (vm == null) { vm = new VisitFilterViewModel(); } vm.Issuers = DB.Employees.Where(e => e.JobTitle.Title == JobTitle.Doctor || e.JobTitle.Title == JobTitle.Head).ToList(); vm.Patients = DB.Patients.ToList(); vm.Nurse = vm.NurseReplacement = DB.Employees.Where(e => e.JobTitle.Title == JobTitle.HealthNurse).ToList(); vm.Services = DB.Services.ToList(); vm.Visits = DB.Visits.ToList(); CheckForRole(vm); #region Filters if (vm.DateStart != null) { vm.Visits = vm.Visits.Where(v => v.Date >= vm.DateStart).ToList(); } if (vm.DateEnd != null) { vm.Visits = vm.Visits.Where(v => v.Date <= vm.DateEnd).ToList(); } if (vm.DateStartConfirmed != null) { vm.Visits = vm.Visits.Where(v => v.DateConfirmed >= vm.DateStartConfirmed).ToList(); } if (vm.DateEndConfirmed != null) { vm.Visits = vm.Visits.Where(v => v.DateConfirmed <= vm.DateEndConfirmed).ToList(); } if (vm.ServiceId != null) { vm.Visits = vm.Visits.Where(v => v.WorkOrder.Service.ServiceId == vm.ServiceId).ToList(); /* * if (vm.VisitType == VisitFilterViewModel.VisitTypeEnum.Preventive) * vm.Visits = vm.Visits.Where(v => v.WorkOrder.Service.PreventiveVisit == true).ToList(); * else * vm.Visits = vm.Visits.Where(v => v.WorkOrder.Service.PreventiveVisit == false).ToList(); */ } if (vm.SelectedIssuerId > 0) { vm.Visits = vm.Visits.Where(v => v.WorkOrder.Issuer.EmployeeId == vm.SelectedIssuerId).ToList(); } if (vm.SelectedPatientId > 0) { vm.Visits = vm.Visits.Where(v => v.WorkOrder.PatientWorkOrders.Any(pwo => pwo.Patient.PatientId == vm.SelectedPatientId) || (v.WorkOrder.Patient != null && v.WorkOrder.Patient.PatientId == vm.SelectedPatientId)).ToList(); } if (vm.SelectedNurseId > 0 && vm.SelectedNurseReplacementId > 0) { vm.Visits = vm.Visits.Where(v => v.WorkOrder.Nurse.EmployeeId == vm.SelectedNurseId || (v.NurseReplacement != null && v.NurseReplacement.EmployeeId == vm.SelectedNurseReplacementId)).ToList(); } else if (vm.SelectedNurseReplacementId > 0) { vm.Visits = vm.Visits.Where(v => v.NurseReplacement != null && v.NurseReplacement.EmployeeId == vm.SelectedNurseReplacementId).ToList(); } else if (vm.SelectedNurseId > 0) { vm.Visits = vm.Visits.Where(v => v.WorkOrder.Nurse.EmployeeId == vm.SelectedNurseId).ToList(); } if (vm.VisitDone != 0) { // TODO !!!! // BOOL VISITDONE IN VISIT MODEL !! DONE! if (vm.VisitDone == VisitFilterViewModel.VisitDoneEnum.Yes) { vm.Visits = vm.Visits.Where(v => v.Done).ToList(); } else { vm.Visits = vm.Visits.Where(v => !v.Done).ToList(); } } #endregion vm.Visits = vm.Visits.OrderBy(v => v.DateConfirmed).ToList(); return(View("Index", vm)); }