/// <summary>
        /// Save a sales invoice based on inputs and update car's customer name, proform validation check, then go back to sales invoices page and get a list of sales invoices
        /// </summary>
        protected void lbtnSaveSalesInvoice_Click(object sender, EventArgs e)
        {
            if (Page.IsValid) // if any validation control failed, this will be false
            {
                SalesInvoicesBLL salesInvoice = new SalesInvoicesBLL();

                salesInvoice.InvoiceId    = int.Parse(lblSalesInvoiceId.Text);
                salesInvoice.CustomerName = txtCustomerName.Text;
                salesInvoice.Serial       = int.Parse(txtSerial.Text);
                salesInvoice.SalesDate    = lblSalesDate.Text;
                salesInvoice.Salesman     = txtSalesman.Text;
                salesInvoice.NetPrice     = decimal.Parse(lblNetPrice.Text);
                salesInvoice.Tax          = decimal.Parse(lblTax.Text);
                salesInvoice.TotalPrice   = decimal.Parse(lblTotalPrice.Text);

                int num = int.Parse(txtSerial.Text);

                // get a car object by serial number and update car's customer name, then insert sals invoice into database
                CarsBLL car = bllc.GetCarBySerial(num);
                if (car != null)
                {
                    car.CustomerName = txtCustomerName.Text;
                    try
                    {
                        if (blls.InsertSalesInvoice(salesInvoice))
                        {
                            car.UpdateCar(car);
                            Session["msg"] = "Sales Invoice " + salesInvoice.InvoiceId + " added";
                            Response.Redirect("~/SalesInvoices.aspx");
                        }
                        else
                        {
                            lblMessage.Text      = "Validation failed. Please try again";
                            lblMessage.ForeColor = System.Drawing.Color.Red;
                        }
                    }
                    catch (Exception ex)
                    {
                        lblMessage.Text      = ex.Message;
                        lblMessage.ForeColor = System.Drawing.Color.Red;
                    }
                }
            }
            else
            {
                lblMessage.Text      = "Validation failed. Please try again";
                lblMessage.ForeColor = System.Drawing.Color.Red;
            }
        }
 // constructor
 public AddSalesInvoice()
 {
     blls = new SalesInvoicesBLL();
     bllc = new CarsBLL();
 }