//Adiciona um serviço ao carro selecionado private void buttonCriarServico_Click(object sender, EventArgs e) { if (listBoxClientes.SelectedIndex == -1 || listBoxCarros.SelectedIndex == -1) { return; } FormAdicionarServico formAdicionarServico = new FormAdicionarServico(); Cliente clienteSelecionado = new Cliente(); CarroOficina carroOficinaSelecionado = new CarroOficina(); clienteSelecionado = (Cliente)listBoxClientes.SelectedItem; carroOficinaSelecionado = (CarroOficina)listBoxCarros.SelectedItem; if (formAdicionarServico.ShowDialog() == DialogResult.OK) { Servico novoServico = new Servico { Tipo = formAdicionarServico.tipoServico, DataEntrada = formAdicionarServico.dataEntrada, DataSaida = formAdicionarServico.dataSaida }; carroOficinaSelecionado.Servicoes.Add(novoServico); listBoxServicos.SelectedItem = novoServico; myDb.SaveChanges(); LerDados(); } }
//Ao mudar de carro selecionado atualiza a lista dos serviços private void listBoxCarros_SelectedIndexChanged(object sender, EventArgs e) { Cliente clienteSelecionado = (Cliente)listBoxClientes.SelectedItem; CarroOficina carroOficinaSelecionado = (CarroOficina)listBoxCarros.SelectedItem; listBoxParcelas.DataSource = null; listBoxServicos.DataSource = null; atualizarListaServicos(carroOficinaSelecionado); }
//Emitir a fatura private void guardarToolStripMenuItem_Click(object sender, EventArgs e) { try { if (listBoxClientes.SelectedIndex == -1 || listBoxCarros.SelectedIndex == -1 || listBoxServicos.SelectedIndex == -1 || listBoxParcelas.SelectedIndex == -1) { return; } Cliente clienteSelecionado = (Cliente)listBoxClientes.SelectedItem; CarroOficina carroOficinaSelecionado = (CarroOficina)listBoxCarros.SelectedItem; Servico servicoSelecionado = (Servico)listBoxServicos.SelectedItem; string[] lines = { "Dados do Cliente:\n Nome do cliente: " + clienteSelecionado.Nome + "\n Morada: " + clienteSelecionado.Morada + "\n Contacto: " + clienteSelecionado.Contacto + "\n NIF: " + clienteSelecionado.NIF, "\n-------------------------------------\nDados do Automóvel: \n Numero Chassis: " + carroOficinaSelecionado.NumeroChassis + "\n\nMarca + Modelo: " + carroOficinaSelecionado.Marca + " " + carroOficinaSelecionado.Modelo + "\n Combustivel: " + carroOficinaSelecionado.Combustivel + "\n Matricula: " + carroOficinaSelecionado.Matricula + "\n Quilometros: " + carroOficinaSelecionado.Kms + " kms", "\n-------------------------------------\nDados do Servico: \n Data de entrada: " + servicoSelecionado.DataEntrada + "\n Data de saída: " + servicoSelecionado.DataSaida + "\n Tipo de servico: " + servicoSelecionado.Tipo + "\nValor total do Servico: " + servicoSelecionado.totalGastoNoStand + "€" }; string docPath = @"E:\Everything\Universidade\TeSP\2_Semestre\Desenvolvimento_de_Aplicações\Projeto\Projeto DA\Projeto_CSharp\Gestor de oficina\Recibos da Oficina"; using (StreamWriter outputFile = new StreamWriter(Path.Combine(docPath, carroOficinaSelecionado.Matricula + ".txt"))) { foreach (string line in lines) { outputFile.WriteLine(line); } } try { DialogResult dialogResult = MessageBox.Show("Impressao concluida com sucesso, deseja abrir o recibo?", "Impressao Concluída", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { Process.Start(docPath + "\\" + carroOficinaSelecionado.Matricula + ".txt"); } else if (dialogResult == DialogResult.No) { return; } ; } catch (Exception) { MessageBox.Show("Nao foi possível abrir recibo", "Erro a abrir"); return; } } catch (Exception) { MessageBox.Show("Nao foi possível imprimir recibo", "Erro na impressao"); return; } }
//Ao mudar de serviço selecionado atualiza a lista das parcelas private void listBoxServicos_SelectedIndexChanged(object sender, EventArgs e) { if (listBoxClientes.SelectedIndex == -1 || listBoxCarros.SelectedIndex == -1 || listBoxServicos.SelectedIndex == -1) { return; } Cliente clienteSelecionado = (Cliente)listBoxClientes.SelectedItem; CarroOficina carroOficinaSelecionado = (CarroOficina)listBoxCarros.SelectedItem; Servico servicoSelecionado = (Servico)listBoxServicos.SelectedItem; labelValorTotal.Text = servicoSelecionado.totalGastoNoStand.ToString(); atualizarListaParcelas(servicoSelecionado); }
//Adicionar um carro de oficina ao cliente private void buttonAdicionarCarroOficina_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(maskedTextBoxNumeroChassis.Text) || string.IsNullOrEmpty(comboBoxModelo.Text) || string.IsNullOrEmpty(comboBoxMarca.Text) || string.IsNullOrEmpty(comboBoxCombustivel.Text) || string.IsNullOrEmpty(maskedTextBoxMatricula.Text) || string.IsNullOrEmpty(textBoxKMs.Text)) { return; } int QuilometrosAutomovel = 0; if (!int.TryParse(textBoxKMs.Text, out QuilometrosAutomovel)) { MessageBox.Show("Erro ao introduzir valor", "Valor incorreto: " + textBoxKMs.Text); return; } CarroOficina = new CarroOficina { NumeroChassis = maskedTextBoxNumeroChassis.Text, Marca = comboBoxMarca.Text, Modelo = comboBoxModelo.Text, Combustivel = comboBoxCombustivel.Text, Matricula = maskedTextBoxMatricula.Text, Kms = QuilometrosAutomovel }; DialogResult = DialogResult.OK; }
//Adiciona uma parcela ao serviço selecionado private void buttonCriarParcela_Click(object sender, EventArgs e) { if (listBoxClientes.SelectedIndex == -1 || listBoxCarros.SelectedIndex == -1 || listBoxServicos.SelectedIndex == -1) { return; } Cliente clienteSelecionado = new Cliente(); CarroOficina carroOficinaSelecionado = new CarroOficina(); Servico servicoSelecionado = new Servico(); clienteSelecionado = (Cliente)listBoxClientes.SelectedItem; carroOficinaSelecionado = (CarroOficina)listBoxCarros.SelectedItem; servicoSelecionado = (Servico)listBoxServicos.SelectedItem; if (string.IsNullOrEmpty(textBoxValorParcela.Text) || string.IsNullOrEmpty(textBoxDescricaoParcela.Text)) { return; } int ValorParcela = 0; if (!int.TryParse(textBoxValorParcela.Text, out ValorParcela)) { MessageBox.Show("Erro ao introduzir valor", "Valor incorreto: " + textBoxValorParcela.Text); return; } Parcela novaParcela = new Parcela { Valor = ValorParcela, Descricao = textBoxDescricaoParcela.Text }; servicoSelecionado.Parcelas.Add(novaParcela); listBoxParcelas.SelectedItem = novaParcela; myDb.SaveChanges(); LerDados(); }
private void atualizarListaServicos(CarroOficina carroOficinaSelecionado) { listBoxServicos.DataSource = carroOficinaSelecionado.Servicoes.ToList(); }