public virtual ActionResult EditQualityAssurance(int Id) { viewQualityAssuranceTracker viewTracker; if (Id != 0) { viewTracker = CMSService.GetQualityAssuranceTracker(Id); viewTracker.mode = "edit"; viewTracker.ListAgencies = CMSService.ListOfAllContracts().ToList(); //added by Lindsey List <int> docIds = new List <int>(); foreach (var doc in viewTracker.viewReview.ListOfDocuments) { docIds.Add(doc.Id); } viewTracker.viewReview.DocumentIds = docIds.ToArray(); //end of additions } else { viewTracker = new viewQualityAssuranceTracker(); var ContractId = 0; var listofcontracts = CMSService.ListOfContracts(username).ToList(); if (listofcontracts != null && listofcontracts.Any() && listofcontracts.Count == 1) { ContractId = listofcontracts.FirstOrDefault().Id; //viewcaseheader.ContractName = (from contract in viewcaseheader.caselookup.listofcontracts where contract.Id == viewcaseheader.ContractId select contract.ContractName).FirstOrDefault(); } viewTracker.viewReview.ListOfStaff = CMSService.ListOfWorkers(ContractId).ToList(); viewTracker.viewReview.selectedStaff = new string[viewTracker.viewReview.ListOfStaff.Count()]; if (viewTracker.viewReview.selectedStaff != null) { foreach (var staff in viewTracker.viewReview.ListOfStaff) { for (int i = 0; i < viewTracker.viewReview.selectedStaff.Length; i++) { if (viewTracker.viewReview.selectedStaff[i] == staff.Id.ToString()) { staff.IsSelected = true; } } } } } if (User.IsInRole("CMS_IDOAStaff")) { viewTracker.ListPSA = CMSService.ListOfPSA().ToList(); viewTracker.ListAgencies = CMSService.ListOfAllContracts().ToList(); } else if (User.IsInRole("CMS_RAAAdmin")) { viewTracker.PSAId = CMSService.GetPSAByUserName(username).Id; viewTracker.ListPSA = CMSService.ListOfPSA().Where(i => i.Id == viewTracker.PSAId).ToList(); viewTracker.ListAgencies = CMSService.ListOfAllContracts().Where(i => i.PSAId == viewTracker.PSAId).ToList(); } else if (User.IsInRole("CMS_Supervisor")) { viewTracker.ListAgencies = CMSService.ListOfContracts(username).ToList(); viewTracker.ListPSA = CMSService.ListOfPSA().Where(i => viewTracker.ListAgencies.Any(a => a.PSAId == i.Id)).ToList(); } viewTracker.ListReviewTypes = CMSService.ListOfReviewTypes().ToList(); return(View(viewTracker)); }