private MissingControl InitSelectPackagePanel()
        {
            var disclosurePackageAccess =
                _passFailUtility.DisclosuresUtilityConfig.WcmDisclosureSettings.DisclosurePackages
                .ToDictionary(x => x.PackageType,
                              x => x.PersonasWithAccess.ToList());

            // create listener for all package types
            string disclosureTypesPanel = "Panel_DisclosurePackageTypes";

            EllieMae.Encompass.Forms.Panel panelDisclosurePackageTypes = (EllieMae.Encompass.Forms.Panel)FindControl(disclosureTypesPanel);
            if (panelDisclosurePackageTypes == null)
            {
                return(new MissingControl(disclosureTypesPanel, ControlTypeEnum.Panel, "Panel Contains Package types"));
            }
            panelDisclosurePackageTypes.BorderStyle = BorderStyle.None;
            ControlCollection disclosurePanelControls = panelDisclosurePackageTypes.Controls;

            foreach (EllieMae.Encompass.Forms.Control item in disclosurePanelControls)
            {
                string controlType = item.GetType().ToString();
                if (controlType.Equals("EllieMae.Encompass.Forms.RadioButton", StringComparison.CurrentCultureIgnoreCase))
                {
                    EllieMae.Encompass.Forms.RadioButton disclosurePackageRadioButton = (EllieMae.Encompass.Forms.RadioButton)FindControl(item.ControlID);

                    WCMPackageTypeEnum radioButtonPackage = (WCMPackageTypeEnum)Enum.Parse(typeof(WCMPackageTypeEnum), disclosurePackageRadioButton.CheckedValue);
                    var thisPackageAccess = disclosurePackageAccess.FirstOrDefault(x => x.Key == radioButtonPackage);
                    List <PersonasThatCanSendDisclosuresEnum> personasThatCanAccessThisPackage = thisPackageAccess.Value;

                    bool canUserAccessThisDisclosurePackage = personasThatCanAccessThisPackage.Intersect(_personaBreakOut.UserPersonasList).ToList().Any();
                    if (canUserAccessThisDisclosurePackage || _personaBreakOut.isAdmin)
                    {
                        disclosurePackageRadioButton.Click += DisclosurePackageRadioButton_Click;
                    }
                    else
                    {
                        disclosurePackageRadioButton.Visible = false;
                    }
                }
            }

            return(null);
        }
        public void SetSendDisclosuresControls()
        {
            // Disable buttons on form load and when new package is selected
            ButtonGenerateDisclosures.Enabled = false;

            if (this.Loan.Fields[DisclosurePackageToSendField].IsEmpty())
            {
                ButtonCreateAppraisalCreditCardTask.Enabled = false;
                return;
            }

            // if appraisal task ID is not blank, means it has already been created
            if (Loan.Fields["CX.APPRAISAL.CC.TASK.ID"].IsEmpty() == false)
            {
                ButtonCreateAppraisalCreditCardTask.Enabled = false;
            }

            var package = DisclosuresManger.GetDisclosurePackageSelected(this.Loan);

            DisclosurePackageSelected = package.PackageType;



            InitialDisclosuresReadyToGenerateCheck distributionCheck = _passFailUtility.InitialDisclosuresReadyToGenerateCheck();

            if (distributionCheck.IsLoanReadyToGenerateInitialDisclosures == false)
            {
                LabelDisclosureFailReasons.ForeColor = System.Drawing.Color.Red;
                LabelDisclosureFailReasons.Visible   = true;
                FormatReasonsNotReadyToGenerate(distributionCheck.ReasonsPackageIsNotReadyToGenerate);
            }
            else if (distributionCheck.IsLoanReadyToGenerateInitialDisclosures)
            {
                LabelDisclosureFailReasons.Visible   = true;
                LabelDisclosureFailReasons.Text      = "Disclosures ready to be sent!";
                LabelDisclosureFailReasons.ForeColor = System.Drawing.Color.Green;


                ButtonGenerateDisclosures.Enabled = true;
            }
        }