protected void btnIndSel_Click(object sender, EventArgs e)
        {
            UpdateIndTable();

            ListItem selItem = IndividualsListBox.SelectedItem;

            Boolean unique = true;

            for (int i = 0; i < this.IndTable.Count; i++)
            {
                if (this.IndTable[i].IndividualID == Convert.ToInt16(selItem.Value))
                {
                    unique = false;
                }
            }

            if (unique)
            {
                this.IndTable.Add(new Individual(Convert.ToInt16(selItem.Value), selItem.Text, 0, false, DateTime.Now, ' '));
                ReBuildTable();
                UpdatePACDetails.Update();
            }

            CloseAndResolve("PACIndividuals");
        }
        protected void btnIndAdd_Click(object sender, EventArgs e)
        {
            pacMessages.InnerText = "";
            int userId = 0;

            if (newIndividualName != null && newIndividualName.Text.Length > 1)
            {
                var i = new Individual
                {
                    IndividualID = 0,
                    FullName     = newIndividualName.Text,
                    Email        = newIndividualEmail.Text,
                    SHID         = Convert.ToInt32(txtSHID.Text)
                };
                userId = PACData.SaveIndividual(i);
                if (userId > 0)
                {
                    Individual user = PACData.GetPACIndividuals(userId, null)[0];
                    if (user != null)
                    {
                        this.IndTable.Add(user);
                        ReBuildTable();
                        UpdatePACDetails.Update();
                        CloseAndResolve("PACIndividuals");
                    }
                }
            }
        }
        // Address Search

        protected void btnAddrOk_Click(object sender, EventArgs e)
        {
            // If we have a selected address, use the shid for our main page.
            if (lstAddressName.SelectedItem != null)
            {
                int    crop_year = Convert.ToInt16(ddlCropYear.Text);
                string shid      = txtAddrSHID.Text;
                if (hdnFinderType.Value == "AddressFinder")
                {
                    LoadPAC(crop_year, shid);
                }
                else
                {
                    var ind = new Individual
                    {
                        FullName     = txtAddrFName.Text + " " + txtAddrLName.Text,
                        SHID         = Convert.ToInt32(shid),
                        Sort         = Convert.ToChar("1"),
                        Percentage   = 100,
                        IndividualID = 0,
                        Email        = txtEmail.Text
                    };
                    ind.IndividualID = PACData.SaveIndividual(ind);
                    IndTable.Add(ind);
                    ReBuildTable();
                    UpdatePACDetails.Update();
                }
                CloseAndResolve("AddressFinder");
            }
        }
        // Signer Search

        protected void btnIndAdd_Click(object sender, EventArgs e)
        {
            pacMessages.InnerText = "";

            if (newIndividualName != null && newIndividualName.Text.Length > 1)
            {
                int userId = PACData.SaveIndividual(new Individual(0, newIndividualName.Text));
                if (userId > 0)
                {
                    Individual user = PACData.GetPACIndividuals(userId, null)[0];
                    if (user != null)
                    {
                        this.IndTable.Add(user);
                        ReBuildTable();
                        UpdatePACDetails.Update();
                        CloseAndResolve("PACIndividuals");
                    }
                }
            }
        }
        private void LoadPACAgreement(int cropYear, string shid)
        {
            ResetPage();

            txtSHID.Text    = shid;
            lblBusName.Text = txtAddrBName.Text;
            this.MySHID     = shid;

            switch (Convert.ToString(txtAddrType.Value))
            {
            case "1":
                lblAddressType.Text = "Individual";
                break;

            case "2":
                lblAddressType.Text = "Corporation";
                break;

            default:
                lblAddressType.Text = "Other";
                break;
            }

            uplShid.Update();

            PACAgreement pac = PACData.GetPACAgreement(shid.ToString(), cropYear);

            if (pac != null)
            {
                pACContibution.Text = Convert.ToString(pac.Contribution);
                pACDate.Text        = pac.PACDate;
                indTableField.Value = pac.IndividualsString;
                this.IndTable       = pac.Individuals;
            }

            ReBuildTable();
            UpdatePACDetails.Update();
            btnDownloadPACAgreement.Visible = true;
        }
        // Private

        private void LoadPAC(int crop_year, string shid)
        {
            var METHOD_NAME = "LoadPAC";

            Common.AppHelper.HideWarning(addrWarning);

            ResetPage();

            txtSHID.Text    = shid;
            lblBusName.Text = txtAddrBName.Text;
            this.MySHID     = shid;

            try
            {
                var addresses = BeetDataAddress.AddressGetInfo(Convert.ToInt32(shid), 0, crop_year);


                var addr = addresses[0];



                switch (Convert.ToString(addr.AddressType))
                {
                case "1":
                    lblAddressType.Text = "Individual";
                    break;

                case "2":
                    lblAddressType.Text = "Corporation";
                    break;

                default:
                    lblAddressType.Text = "Other";
                    break;
                }

                uplShid.Update();

                PACAgreement pac = PACData.GetPACAgreement(shid, crop_year);
                if (pac != null)
                {
                    btnDownloadPACAgreement.Enabled = true;
                    pACContibution.Text             = Convert.ToString(pac.Contribution);
                    pACDate.Text = pac.PACDate;

                    if (pac.Individuals.Count == 0)
                    {
                        pac.Individuals.Add(CreateAndFetchIndividual(crop_year, shid));
                    }
                    indTableField.Value = pac.IndividualsString;
                    this.IndTable       = pac.Individuals;
                }
                else
                {
                    btnDownloadPACAgreement.Enabled = false;
                    IndTable.Add(CreateAndFetchIndividual(crop_year, shid));
                }
                UpdatePACDetails.Visible = true;
                ReBuildTable();
                UpdatePACDetails.Update();
            }
            catch (Exception ex)
            {
                Common.CException wex = new Common.CException(MOD_NAME + METHOD_NAME, ex);
                ((PrimaryTemplate)Page.Master).ShowWarning(ex, "Unable to load page correctly at this time.", indWarning);
                pacMessages.InnerHtml = "<font style='color: red;'>Invalid SHID / Crop Year</font>";
                //pacMessages.InnerHtml = ex.Message + "<br />" + ex.StackTrace;
                UpdatePACDetails.Visible = false;
                return;
            }
        }