///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); } }