Beispiel #1
0
        private void btnAddCar_Click(object sender, EventArgs e)
        {
            var regNo = txtReg.Text.ToUpper();

            //Validate data
            if (txtMake.Text.Equals(""))
            {
                MessageBox.Show("Car make must be entered", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtMake.Focus();
                return;
            }

            if (!isValidMakeModel(txtMake.Text))
            {
                MessageBox.Show("Invalid Make", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtMake.Focus();
                return;
            }

            if (!isValidMakeModel(txtModel.Text))
            {
                MessageBox.Show("Invalid Model", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtModel.Focus();
                return;
            }

            if (txtModel.Text.Equals(""))
            {
                MessageBox.Show("Car model must be entered", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtModel.Focus();
                return;
            }


            if (!isValidReg(txtReg.Text))
            {
                MessageBox.Show("Car Registration is invalid. NN(N)-XX-N(NNN) ", "Error", MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                txtReg.Focus();
                return;
            }

            //check if RegNo already exists
            if (Cars.checkRegExists(regNo))
            {
                MessageBox.Show("Registration number already exists", "Error", MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                txtReg.Focus();
                return;
            }

            if (cboCarCategory.Text.Equals(""))
            {
                MessageBox.Show("Chose a car category", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cboCarCategory.Focus();
                return;
            }

            if (cboFuelType.Text.Equals(""))
            {
                MessageBox.Show("Chose fuel type", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cboFuelType.Focus();
                return;
            }

            if (cboTransmission.Text.Equals(""))
            {
                MessageBox.Show("Chose transmission", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cboCarCategory.Focus();
                return;
            }

            if (rad2door.Checked)
            {
                doors = 2;
            }
            else if (rad4door.Checked)
            {
                doors = 4;
            }
            else
            {
                MessageBox.Show("Chose number of doors", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                rad2door.Focus();
                return;
            }

            var extra = "";

            if (chkAddCar.CheckedItems.Count > 0)
            {
                for (var i = 0; i < chkAddCar.CheckedItems.Count; i++)
                {
                    if (extra == "")
                    {
                        extra = chkAddCar.CheckedItems[i].ToString();
                    }
                    else
                    {
                        extra += "," + chkAddCar.CheckedItems[i];
                    }
                }
            }

            //Save data in  file
            var addCar = new Cars(txtMake.Text, txtModel.Text, cboCarCategory.Text, txtReg.Text, cboTransmission.Text,
                                  cboFuelType.Text, 0, "A", Convert.ToInt32(numericUpDownSeats.Text), Convert.ToInt32(doors), extra,
                                  Convert.ToDecimal(numericUpEngine.Text),
                                  Convert.ToInt32(numericUpBags.Text));

            //INSERT car record into cars table
            addCar.addCars();

            //Display confirmation
            MessageBox.Show("Car with Reg " + txtReg.Text + " has been added", "Success", MessageBoxButtons.OK,
                            MessageBoxIcon.Information);

            //Reset UI
            txtMake.Clear();
            txtModel.Clear();
            txtReg.Clear();
            numericUpBags.ResetText();
            numericUpEngine.ResetText();
            numericUpDownSeats.ResetText();
            chkAddCar.ClearSelected();
            txtMake.Focus();
        }