/// <summary>
    /// Submit Button Click Event
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnAddOnValueSubmit_Click(object sender, EventArgs e)
    {
        ProductAddOnAdmin AddOnValueAdmin = new ProductAddOnAdmin();
        AddOnValue addOnValue = new AddOnValue();

        if (AddOnValueId > 0)
        {
            addOnValue = AddOnValueAdmin.GetByAddOnValueID(AddOnValueId);
        }

        // Set Properties
        // General Settings
        addOnValue.AddOnID = ItemId; // AddOnId from querystring
        addOnValue.Name = txtAddOnValueName.Text.Trim();
        addOnValue.RetailPrice = decimal.Parse(txtAddOnValueRetailPrice.Text.Trim());
        addOnValue.SalePrice = null;
        addOnValue.WholesalePrice = null;

        if(txtSalePrice.Text.Trim().Length > 0)
        addOnValue.SalePrice = decimal.Parse(txtSalePrice.Text.Trim());
        if(txtWholeSalePrice.Text.Trim().Length > 0)
        addOnValue.WholesalePrice = decimal.Parse(txtWholeSalePrice.Text.Trim());

        // Display Settings
        addOnValue.DisplayOrder = int.Parse(txtAddonValueDispOrder.Text.Trim());
        addOnValue.DefaultInd = chkIsDefault.Checked;

        // Inventory Settings
        addOnValue.SKU = txtAddOnValueSKU.Text.Trim();
        addOnValue.QuantityOnHand = int.Parse(txtAddOnValueQuantity.Text.Trim());
        if (txtReOrder.Text.Trim().Length > 0)
        {
            addOnValue.ReorderLevel = int.Parse(txtReOrder.Text.Trim());
        }
        else
        { addOnValue.ReorderLevel = null; }
        if (txtAddOnValueWeight.Text.Trim().Length > 0)
        {
            addOnValue.Weight = decimal.Parse(txtAddOnValueWeight.Text.Trim());
        }

        # region Add-On Package Dimensions
        if (Height.Text.Trim().Length > 0)
        {
            addOnValue.Height = decimal.Parse(Height.Text.Trim());
        }
        else { addOnValue.Height = null; }

        if (Width.Text.Trim().Length > 0)
        {
            addOnValue.Width = decimal.Parse(Width.Text.Trim());
        }
        else { addOnValue.Width = null; }

        if (Length.Text.Trim().Length > 0)
        {
            addOnValue.Length = decimal.Parse(Length.Text.Trim());
        }
        else
        { addOnValue.Length = null; }
        #endregion

        // set shipping type for this add-on item
        addOnValue.ShippingRuleTypeID = int.Parse(ShippingTypeList.SelectedValue);
        addOnValue.FreeShippingInd = chkFreeShippingInd.Checked;

        if (chkRecurringBillingInd.Checked)
        {
            // Recurring Billing
            addOnValue.RecurringBillingInd = chkRecurringBillingInd.Checked;
            addOnValue.RecurringBillingPeriod = ddlBillingPeriods.SelectedItem.Value;
            addOnValue.RecurringBillingFrequency = ddlBillingFrequency.SelectedItem.Text;
            addOnValue.RecurringBillingTotalCycles = int.Parse(txtSubscrptionCycles.Text.Trim());
        }
        else
        {
            addOnValue.RecurringBillingInd = false;
            addOnValue.RecurringBillingInstallmentInd = false;
        }

        // Supplier
        if (ddlSupplier.SelectedIndex != -1)
        {
            if (ddlSupplier.SelectedItem.Text.Equals("None"))
            {
                addOnValue.SupplierID = null;
            }
            else
            {
                addOnValue.SupplierID = Convert.ToInt32(ddlSupplier.SelectedValue);
            }
        }

        // Tax Class
        if (ddlTaxClass.SelectedIndex != -1)
        {
            addOnValue.TaxClassID = int.Parse(ddlTaxClass.SelectedValue);
        }

        bool status = false;

        if (AddOnValueId > 0)
        {
            // set update date
            addOnValue.UpdateDte = System.DateTime.Now;

            // Update option values
            status = AddOnValueAdmin.UpdateAddOnValue(addOnValue);
        }
        else
        {
            // Add new option values
            status = AddOnValueAdmin.AddNewAddOnValue(addOnValue);
        }

        if (status)
        {
            Response.Redirect(ViewLink + ItemId);
        }
        else
        {
            lblAddonValueMsg.Text = "Could not update the Add-On Value. Please try again.";
            return;
        }
    }