public Aluguer(DateTime dataInicio, DateTime dataFim, double valor, long kms, Cliente cliente, CarroAluguer carroAluguer) { DataInicio = dataInicio; DataFim = dataFim; Valor = valor; Kms = kms; Cliente = cliente; CarroAluguer = carroAluguer; }
///Cria ou altera um aluguer do cliente selecionado private void buttonGuardarAluguer_Click(object sender, EventArgs e) { Cliente selectedcliente = (Cliente)listBoxClientesAluguer.SelectedItem; if (selectedcliente == null) { MessageBox.Show("Nenhum cliente selecionado!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if (newAluguer) { CarroAluguer selectedCarroAluguer = (CarroAluguer)listBoxCarrosAluguer.SelectedItem; if (selectedCarroAluguer == null) { MessageBox.Show("Nenhum carro selecionado!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } try { Aluguer newAluguer = new Aluguer( DateTime.Parse(dateTimePickerDataInicioAluguer.Text), DateTime.Parse(dateTimePickerDataFimAluguer.Text), double.Parse(maskedTextBoxValorAluguer.Text.Replace('€', ' ')), long.Parse(numericUpDownKMsAluguer.Text), selectedcliente, selectedCarroAluguer ); standContainer.Aluguers.Add(newAluguer); } catch (FormatException) { MessageBox.Show("Existem dados incorretos.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } } else { Aluguer selectedAluguer = (Aluguer)listBoxAluguer.SelectedItem; selectedAluguer.DataInicio = dateTimePickerDataInicioAluguer.Value; selectedAluguer.DataFim = dateTimePickerDataFimAluguer.Value; selectedAluguer.Kms = long.Parse(numericUpDownKMsAluguer.Text); selectedAluguer.Valor = double.Parse(maskedTextBoxValorAluguer.Text.Replace('€', ' ')); } standContainer.SaveChanges(); listBoxAluguer.DataSource = selectedcliente.Aluguer.ToList(); listBoxAluguer.SelectedIndex = -1; labelTotalGastoAluguer.Text = selectedcliente.GetTotalAluguer(); newAluguer = false; groupBoxAluguer.Enabled = false; buttonGuardarAluguer.Visible = false; ClearAluguerFields(); }
///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; }
///Elimina um carro de aluguer private void buttonEliminarCarroAluguer_Click(object sender, EventArgs e) { CarroAluguer selectedCarroAluguer = (CarroAluguer)listBoxCarrosAluguer.SelectedItem; standContainer.Carros.Remove(selectedCarroAluguer); standContainer.SaveChanges(); listBoxCarrosAluguer.DataSource = standContainer.Carros.OfType <CarroAluguer>().ToList(); listBoxCarrosAluguer.SelectedIndex = -1; // Desativa os botoes de editar e eliminar buttonEditarCarroAluguer.Enabled = false; buttonEliminarCarroAluguer.Enabled = false; // Desativa a edicao groupBoxCarroAluguer.Enabled = false; buttonGuardarCarroAluguer.Visible = false; ClearVehicleDetails(); }
///Mostra toda a informação do carro de aluguer selecionado private void listBoxCarrosAluguer_Click(object sender, EventArgs e) { CarroAluguer selectedCarroAluguer = (CarroAluguer)listBoxCarrosAluguer.SelectedItem; if (selectedCarroAluguer == null) { return; } numeroChassisMaskedTextBox.Text = selectedCarroAluguer.NumeroChassis; textBoxMarcaAluguer.Text = selectedCarroAluguer.Marca; textBoxModeloAluguer.Text = selectedCarroAluguer.Modelo; comboBoxCombustivelAluguer.Text = selectedCarroAluguer.Combustivel; estadoTextBox.Text = selectedCarroAluguer.Estado; maskedTextBoxMatriculaAluguer.Text = selectedCarroAluguer.Matricula; // Ativa os botoes de editar e apagar buttonEditarCarroAluguer.Enabled = true; buttonEliminarCarroAluguer.Enabled = true; }