protected void btnSubmit_Click(object sender, EventArgs e)
    {
        if (!Page.IsValid)
        {
            return;
        }
        bool        Updating     = false;
        OrderDetail oOrderDetail = null;

        if (OrderDetailID > 0)
        {
            oOrderDetail = OrderDetailManager.GetOrderDetailByID(OrderDetailID);
            Updating     = oOrderDetail != null;
        }
        if (!Updating)
        {
            oOrderDetail = new OrderDetail();
        }

        oOrderDetail.OrderID        = this.ddlOrderID.SelectedValue.ToInt();
        oOrderDetail.ProductID      = this.ddlProductID.SelectedValue.ToInt();
        oOrderDetail.Quantity       = this.txtQuantity.ValueInt;
        oOrderDetail.TaxRate        = this.txtTaxRate.ValueByte;
        oOrderDetail.UnitPrice      = this.txtUnitPrice.ValueDecimal;
        oOrderDetail.DiscountAmount = this.txtDiscountAmount.ValueDecimal;
        oOrderDetail.TotalPrice     = this.txtTotalPrice.ValueDecimal;
        oOrderDetail.FinalPrice     = this.txtFinalPrice.ValueDecimal;
        oOrderDetail.CurrencyID     = this.ddlCurrencyID.SelectedValue.ToInt();
        bool bSuccess = Updating ? OrderDetailManager.UpdateOrderDetail(oOrderDetail) : OrderDetailManager.InsertOrderDetail(oOrderDetail);

        if (bSuccess)
        {
            Redirect("/orderdetail-list?s=1");
        }
        else
        {
            base.Warn("error.save");
        }
    }