///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); } }
///Cria ou altera uma venda dependentemente do botão pressionado anteriormente (criar venda ou editar venda) private void buttonGuardarVendas_Click(object sender, EventArgs e) { Cliente selectedCliente = (Cliente)listBoxClientesVendas.SelectedItem; string numeroChassis = maskedTextBoxNChassiVendas.Text; string marca = textBoxMarcaVendas.Text; string modelo = textBoxModeloVendas.Text; string combustivel = comboBoxCombustivelVendas.Text; string extras = textBoxExtrasVendas.Text; DateTime dataVenda = dateTimePickerDataVenda.Value; string estado = textBoxEstadoVendas.Text; double valorVenda; try { valorVenda = double.Parse(maskedTextBoxValorVenda.Text.Replace('€', ' ')); } catch (Exception) { MessageBox.Show("Valor de venda não inserido", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (Carro.VerificaNumeroChassis(numeroChassis) && Carro.VerificaMarca(marca) && Carro.VerificaModelo(modelo) && Carro.VerificaCombustivel(comboBoxCombustivelVendas.SelectedIndex) && extras != "" && estado != "") { if (novoCarroVenda) { CarroVenda novoCarroVenda = new CarroVenda(extras, numeroChassis, marca, modelo, combustivel); Venda novaVenda = new Venda(valorVenda, estado, dataVenda, novoCarroVenda); standContainer.Carros.Add(novoCarroVenda); selectedCliente.Venda.Add(novaVenda); } else //Editar venda { Venda selectedVenda = (Venda)listBoxVendasDoCliente.SelectedItem; selectedVenda.CarroVenda.NumeroChassis = maskedTextBoxNChassiVendas.Text; selectedVenda.CarroVenda.Marca = textBoxMarcaVendas.Text; selectedVenda.CarroVenda.Modelo = textBoxModeloVendas.Text; selectedVenda.CarroVenda.Combustivel = comboBoxCombustivelVendas.Text; selectedVenda.CarroVenda.Extras = textBoxExtrasVendas.Text; selectedVenda.Data = dateTimePickerDataVenda.Value; selectedVenda.Estado = textBoxEstadoVendas.Text; selectedVenda.Valor = double.Parse(maskedTextBoxValorVenda.Text.Replace('€', ' ')); } standContainer.SaveChanges(); listBoxVendasDoCliente.DataSource = selectedCliente.Venda.ToList(); listBoxVendasDoCliente.SelectedIndex = -1; CleanInputDetalhesVenda(); groupBoxDetalhesVendaECarroVendas.Enabled = false; buttonEmitirFaturaVendas.Enabled = false; buttonAnularVenda.Enabled = false; buttonEditarVenda.Enabled = false; labelTotalVendas.Text = selectedCliente.GetTotalVendas(); } else if (!Carro.VerificaNumeroChassis(numeroChassis)) { MessageBox.Show("Número de Chassi incompleto", "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(comboBoxCombustivelVendas.SelectedIndex)) { MessageBox.Show("Combustível não selecionado", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (extras == "") { MessageBox.Show("Extras não inserido", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (estado == "") { MessageBox.Show("Estado não inserido", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }