public ActionResult EditComplaintTracker(int Id)
        {
            viewComplaintTracker complaint;

            if (Id != 0)
            {
                complaint = CMSService.GetComplaintTracker(Id);
                complaint.ListContracts = CMSService.ListOfContracts(username).ToList();

                //if (User.IsInRole("CMS_IDOAStaff"))
                //{
                //    complaint.AgencyTypeDescription = "IDoA Staff";
                //}
                //else if (User.IsInRole("CMS_RAAAdmin"))
                //{
                //    var psa = CMSService.GetPSAByUserName(username);
                //    complaint.AgencyTypeDescription = psa.AreaName;
                //    complaint.ContractId = psa.Id;
                //}
                //else if (User.IsInRole("CMS_Supervisor"))
                //{
                //    complaint.ListContracts = CMSService.ListOfContracts(username).ToList();

                //    if (complaint.ListContracts.Count == 1)
                //    {
                //        complaint.AgencyTypeDescription = complaint.ListContracts.FirstOrDefault().ContractName;
                //        complaint.ContractId = complaint.ListContracts.FirstOrDefault().Id;
                //    }
                //}
            }
            else
            {
                complaint = new viewComplaintTracker();

                if (User.IsInRole("CMS_IDOAStaff"))
                {
                    complaint.AgencyTypeDescription = "IDoA Staff";
                }
                else if (User.IsInRole("CMS_RAAAdmin"))
                {
                    var psa = CMSService.GetPSAByUserName(username);
                    complaint.AgencyTypeDescription = psa.AreaName;
                    complaint.ContractId            = psa.Id;
                }
                else if (User.IsInRole("CMS_Supervisor"))
                {
                    complaint.ListContracts = CMSService.ListOfContracts(username).ToList();

                    if (complaint.ListContracts.Count == 1)
                    {
                        complaint.AgencyTypeDescription = complaint.ListContracts.FirstOrDefault().ContractName;
                        complaint.ContractId            = complaint.ListContracts.FirstOrDefault().Id;
                    }
                }

                complaint.UserCreated = username;
            }
            return(View(complaint));
        }
        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));
        }