private void LoadInvoiceExtra()
        {
            if (ViewState["InvoiceExtra"] == null)
            {
                Facade.IInvoiceExtra facInvoiceExtra = new Facade.Invoice();
                m_invoiceExtra            = facInvoiceExtra.GetInvoiceExtraForInvoiceId(Convert.ToInt32(ViewState["InvoiceId"]));
                ViewState["InvoiceExtra"] = m_invoiceExtra;
            }
            else
            {
                m_invoiceExtra = (Entities.InvoiceExtra)ViewState["InvoiceExtra"];
            }

            lblClient.Text = GetInvoiceClient();
            rdiInvoiceDate.SelectedDate = m_invoiceExtra.InvoiceDate;
            rdiInvoiceDate.Enabled      = !m_invoiceExtra.Posted;
            lblInvoiceNo.Text           = m_invoiceExtra.InvoiceId.ToString();
            lblInvoiceNo.ForeColor      = Color.Black;
            txtInvoiceDetails.Text      = m_invoiceExtra.InvoiceDetails;
            lblDateCreated.Text         = m_invoiceExtra.CreatedDate.ToString("dd/MM/yy");
            lblDateCreated.ForeColor    = Color.Black;



            cboNominalCode.Enabled = !m_invoiceExtra.Posted;

            if (m_isUpdate)
            {
                foreach (Entities.Extra extra in m_invoiceExtra.Extras)
                {
                    if (!(m_extraIdCSV == string.Empty))
                    {
                        m_extraIdCSV += ",";
                    }
                    m_extraIdCSV += extra.ExtraId;
                }
            }

            if (m_invoiceExtra.OverrideTotalAmountNet != 0)
            {
                chkOverrideAmount.Checked  = true;
                pnlOverrideAmounts.Visible = true;

                txtReasonForOverride.Text   = m_invoiceExtra.OverrideReason;
                txtOverrideAmountGross.Text = m_invoiceExtra.OverrideTotalAmountGross.ToString();
                txtOverrideAmountNet.Text   = m_invoiceExtra.OverrideTotalAmountNet.ToString();
                txtOverrideAmountVAT.Text   = m_invoiceExtra.OverrideTotalAmountVAT.ToString();
            }

            if (m_isUpdate)
            {
                if (m_invoiceExtra.ForCancellation)
                {
                    btnAddUpdateInvoice.Visible = false;
                    btnSendToAccounts.Visible   = false;
                    chkPostToExchequer.Visible  = false;
                    chkDelete.Checked           = true;
                }
                else
                {
                    btnAddUpdateInvoice.Visible = true;
                    btnSendToAccounts.Visible   = true;
                    chkPostToExchequer.Visible  = true;
                    chkDelete.Checked           = false;
                }
            }
            else
            {
                chkPostToExchequer.Visible = true;
            }

            btnAddUpdateInvoice.Visible = true;
            btnAddUpdateInvoice.Text    = "Update";

            if (m_invoiceExtra.Posted)
            {
                btnAddUpdateInvoice.Visible   = false;
                btnSendToAccounts.Visible     = false;
                chkPostToExchequer.Checked    = true;
                pnlInvoiceDeleted.Visible     = false;
                chkDelete.Visible             = false;
                txtAmountGross.Enabled        = false;
                txtAmountNet.Enabled          = false;
                txtInvoiceDetails.Enabled     = false;
                txtInvoiceDetails.Enabled     = false;
                chkIncludeExtraDetail.Enabled = false;
                chkOverrideAmount.Enabled     = false;

                pnlOverrideAmounts.Enabled      = false;
                chkIncludeInvoiceDetail.Enabled = false;

                btnViewInvoice.Visible = false;
            }
            else
            {
                btnAddUpdateInvoice.Visible = true;
                btnSendToAccounts.Visible   = true;
                chkPostToExchequer.Checked  = false;
                pnlInvoiceDeleted.Visible   = true;
                chkDelete.Visible           = true;
            }

            ViewState["ExtraIdCSV"] = m_extraIdCSV;
        }