Пример #1
0
        ///Cria ou altera um carro de aluguer
        private void buttonGuardarCarroAluguer_Click(object sender, EventArgs e)
        {
            if (CarroOficina.VerificaMatricula(maskedTextBoxMatriculaAluguer.Text) &&
                Carro.VerificaNumeroChassis(numeroChassisMaskedTextBox.Text) &&
                Carro.VerificaMarca(textBoxMarcaAluguer.Text) &&
                Carro.VerificaModelo(textBoxModeloAluguer.Text) &&
                Carro.VerificaCombustivel(comboBoxCombustivelAluguer.SelectedIndex))
            {
                if (newCarroAluguer)
                {
                    CarroAluguer carroAluguer = new CarroAluguer(
                        estadoTextBox.Text,
                        maskedTextBoxMatriculaAluguer.Text,
                        numeroChassisMaskedTextBox.Text,
                        textBoxMarcaAluguer.Text,
                        textBoxModeloAluguer.Text,
                        comboBoxCombustivelAluguer.Text
                        );
                    standContainer.Carros.Add(carroAluguer);
                }
                else
                {
                    CarroAluguer selectedCarroAluguer = (CarroAluguer)listBoxCarrosAluguer.SelectedItem;
                    selectedCarroAluguer.NumeroChassis = numeroChassisMaskedTextBox.Text;
                    selectedCarroAluguer.Marca         = textBoxMarcaAluguer.Text;
                    selectedCarroAluguer.Modelo        = textBoxModeloAluguer.Text;
                    selectedCarroAluguer.Combustivel   = comboBoxCombustivelAluguer.Text;
                    selectedCarroAluguer.Estado        = estadoTextBox.Text;
                    selectedCarroAluguer.Matricula     = maskedTextBoxMatriculaAluguer.Text;
                }
                standContainer.SaveChanges();
                listBoxCarrosAluguer.DataSource = standContainer.Carros.OfType <CarroAluguer>().ToList();
                newCarroAluguer = false;
                groupBoxCarroAluguer.Enabled       = false;
                buttonGuardarCarroAluguer.Visible  = false;
                listBoxCarrosAluguer.SelectedIndex = -1;
            }
            else
            {
                MessageBox.Show("Existem campos incompletos.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            ClearVehicleDetails();

            // desativa os botoes de editar e apagar
            buttonEditarCarroAluguer.Enabled   = false;
            buttonEliminarCarroAluguer.Enabled = false;
        }
        /// Cria ou edita um carro do cliente que esteja selecionado
        private void buttonGuardarCarroOficina_Click(object sender, EventArgs e)
        {
            Cliente selectedCliente = (Cliente)listBoxClientesOficina.SelectedItem;
            string  matricula       = maskedTextBoxMatriculaOficina.Text;
            int     kms             = int.Parse(numericUpDownKMsOficina.Text);
            string  numeroChassis   = maskedTextBoxChassiOficina.Text;
            string  marca           = textBoxMarcaOficina.Text;
            string  modelo          = textBoxModeloOficina.Text;
            string  combustivel     = comboBoxCombustivelOficina.Text;

            if (CarroOficina.VerificaMatricula(matricula) && CarroOficina.VerificaKMs(kms) &&
                Carro.VerificaNumeroChassis(numeroChassis) && Carro.VerificaMarca(marca) &&
                Carro.VerificaModelo(modelo) && Carro.VerificaCombustivel(comboBoxCombustivelOficina.SelectedIndex))
            {
                if (novoCarroOficina) //Criar novo
                {
                    CarroOficina novoCarroOficina = new CarroOficina(matricula, kms, numeroChassis, marca, modelo, combustivel);
                    try
                    {
                        selectedCliente.CarroOficina.Add(novoCarroOficina);
                    }
                    catch (System.NullReferenceException)
                    {
                        return;
                    }
                }
                else //Editar Carro
                {
                    CarroOficina selectedCarroOficina = (CarroOficina)listBoxCarrosOficina.SelectedItem;
                    selectedCarroOficina.Matricula     = maskedTextBoxMatriculaOficina.Text;
                    selectedCarroOficina.Kms           = int.Parse(numericUpDownKMsOficina.Text);
                    selectedCarroOficina.NumeroChassis = maskedTextBoxChassiOficina.Text;
                    selectedCarroOficina.Marca         = textBoxMarcaOficina.Text;
                    selectedCarroOficina.Modelo        = textBoxModeloOficina.Text;
                    selectedCarroOficina.Combustivel   = comboBoxCombustivelOficina.Text;
                }
                standContainer.SaveChanges();
                listBoxCarrosOficina.DataSource      = selectedCliente.CarroOficina.ToList();
                listBoxServicosOficina.SelectedIndex = -1;
                listBoxCarrosOficina.SelectedIndex   = -1;
                listBoxParcelasOficina.SelectedIndex = -1;
                groupBoxCriarParcelaOficina.Enabled  = false;
                CleanInputCarroOficina();
                groupBoxCriarCarroOficina.Enabled = false;
                buttonCriarServicoOficina.Enabled = false;
            }
            else if (!CarroOficina.VerificaMatricula(matricula))
            {
                MessageBox.Show("Matricula inválida", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (!CarroOficina.VerificaKMs(kms))
            {
                MessageBox.Show("Quilometragem inválida", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (!Carro.VerificaNumeroChassis(numeroChassis))
            {
                MessageBox.Show("Número de Chassi incompleto. São 17 caracteres", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (!Carro.VerificaMarca(marca))
            {
                MessageBox.Show("Marca não inserida", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (!Carro.VerificaModelo(modelo))
            {
                MessageBox.Show("Modelo não inserido", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (!Carro.VerificaCombustivel(comboBoxCombustivelOficina.SelectedIndex))
            {
                MessageBox.Show("Combustível não selecionado", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }