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