///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(); }
///Mostra toda a informação do aluguer selecionado private void listBoxAluguer_Click(object sender, EventArgs e) { Aluguer selectedAluguer = (Aluguer)listBoxAluguer.SelectedItem; if (selectedAluguer == null) { return; } dateTimePickerDataInicioAluguer.Value = selectedAluguer.DataInicio; dateTimePickerDataFimAluguer.Value = selectedAluguer.DataFim; numericUpDownKMsAluguer.Text = selectedAluguer.Kms.ToString(); maskedTextBoxValorAluguer.Text = selectedAluguer.Valor.ToString(); // Ativa os botoes de editar e apagar buttonEditarAluguer.Enabled = true; buttonEliminarAluguer.Enabled = true; buttonEmitirFaturaAluguer.Enabled = true; }
///Elimina um aluguer de um cliente selecionado private void buttonEliminarAluguer_Click(object sender, EventArgs e) { Aluguer selectedAluguer = (Aluguer)listBoxAluguer.SelectedItem; Cliente selectedCliente = (Cliente)listBoxClientesAluguer.SelectedItem; standContainer.Aluguers.Remove(selectedAluguer); standContainer.SaveChanges(); listBoxAluguer.DataSource = selectedCliente.Aluguer.ToList(); listBoxAluguer.SelectedIndex = -1; // Desativa os botoes de editar e eliminar buttonEditarAluguer.Enabled = false; buttonEliminarAluguer.Enabled = false; // Desativa a edicao groupBoxAluguer.Enabled = false; buttonGuardarAluguer.Visible = false; ClearAluguerFields(); labelTotalGastoAluguer.Text = selectedCliente.GetTotalAluguer(); }