public ActionResult Delete(int workorderId) { bool CanDelete = true; Models.WorkOrder WO = DB.WorkOrders.Find(workorderId); if (WO != null) { #region Check Employee current = (Session["user"] as Models.User).Employee; // IF doctor or head if (current.JobTitle.Title == JobTitle.Doctor || current.JobTitle.Title == JobTitle.Head) { // If I created this workroder if (WO.Issuer.EmployeeId == current.EmployeeId) { // If WO has any done vists if (WO.Visits.Any(v => v.DateConfirmed < DateTime.Now || v.Done)) { // Can't delete CanDelete = false; } else { // Can delete CanDelete = true; } } else { CanDelete = false; } } else { CanDelete = false; } #endregion if (CanDelete) { DB.Visits.RemoveRange(WO.Visits); DB.PatientWorkOrders.RemoveRange(WO.PatientWorkOrders); DB.BloodSamples.RemoveRange(WO.BloodSamples); DB.MaterialWorkOrders.RemoveRange(WO.MaterialWorkOrders); DB.MedicineWorkOrders.RemoveRange(WO.MedicineWorkOrders); DB.WorkOrders.Remove(WO); DB.SaveChanges(); } } return(Index(null)); }
public ActionResult Index(int?workOrderId) { //workOrderId = 2; if (workOrderId == null) { return(Redirect("/")); } WorkOrderDetailsViewModel vm = new WorkOrderDetailsViewModel(); Models.WorkOrder wo = DB.WorkOrders.Find(workOrderId); if (wo != null) { vm.ServiceTitle = wo.Service.ServiceTitle; vm.ContractorName = wo.Contractor.DisplayName; vm.Disease = "/"; // TODO LATER STORY vm.EnterBloodSample = wo.Service.RequiresBloodSample; if (vm.EnterBloodSample) { vm.BloodVialBlueCount = wo.BloodSamples.First().BloodVialBlueCount; vm.BloodVialGreenCount = wo.BloodSamples.First().BloodVialGreenCount; vm.BloodVialRedCount = wo.BloodSamples.First().BloodVialRedCount; vm.BloodVialYellowCount = wo.BloodSamples.First().BloodVialYellowCount; } else { vm.BloodVialBlueCount = 0; vm.BloodVialGreenCount = 0; vm.BloodVialRedCount = 0; vm.BloodVialYellowCount = 0; } vm.EnterMedicine = wo.Service.RequiresMedicine; if (vm.EnterMedicine) { vm.Medicine = new List <string>(); for (int i = 0; i < wo.MedicineWorkOrders.Count; i++) { vm.Medicine.Add(wo.MedicineWorkOrders.ElementAt(i).Medicine.FullNameWithCode); } } vm.Nurse = wo.Nurse.FullNameWithCode; // We don't need this??? /*if (wo.NurseReplacement != null) vm.NurseReplacement = wo.NurseReplacement.FullNameWithCode; * else vm.NurseReplacement = "/";*/ // Do we need nursereplacemet here? // NO //vm.NurseReplacement = "/"; vm.Patients = new List <string>(); if (wo.PatientWorkOrders.Count == 0) { if (wo.Patient != null) { vm.Patients.Add(wo.Patient.FullNameWithCode); } else { vm.Patients.Add("/"); } } else { if (wo.Patient != null) { vm.Patients.Add(wo.Patient.FullNameWithCode); } for (int i = 0; i < wo.PatientWorkOrders.Count; i++) { vm.Patients.Add(wo.PatientWorkOrders.ElementAt(i).Patient.FullNameWithCode); } } vm.Supervisor = wo.Issuer.FullNameWithCode; vm.Visits = new List <string>(); List <Visit> Visits = wo.Visits.OrderBy(visi => visi.DateConfirmed).ToList(); vm.VisitIds = new List <int>(); for (int i = 0; i < wo.Visits.Count; i++) { Visit v = Visits.ElementAt(i); string visitString = ""; if (v.Done)// TODO ADD UNCOMPLETED VISITS LATER (when we have a variable for that) { visitString = v.DateConfirmed.ToString("dd. MM. yyyy") + "(opravljeno), "; } /*else if (!v.Confirmed && v.Date.Date < DateTime.Now.Date) * { * visitString = v.Date.ToString("dd. MM. yyyy") + " (neopravljeno), "; * }*/ else { visitString = v.DateConfirmed.ToString("dd. MM. yyyy") + " (predvideno), "; } if (v.Mandatory) { visitString += "obvezen, "; } else { visitString += "okviren, "; } if (wo.Service.PreventiveVisit) { vm.PreventiveService = "Da"; } else { vm.PreventiveService = "Ne"; } vm.Visits.Add(visitString); vm.VisitIds.Add(v.VisitId); } } else { return(Redirect("/")); } return(View("Index", vm)); }