//Função Imprimir Fatura private void ButtonFatura_Click(object sender, EventArgs e) { Clientes clienteSelecionado = (Clientes)lbxClientes.SelectedItem; CarrosOficina carroOficinaSelecionado = (CarrosOficina)lbxCarros.SelectedItem; Servicos ServicoSelecionada = (Servicos)lbxServicos.SelectedItem; if (clienteSelecionado == null) { MessageBox.Show("Para imprimir por favor selecione um cliente.", "Cliente por selecionar", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (carroOficinaSelecionado == null) { MessageBox.Show("Para imprimir por favor selecione um carro", "Carro por selecionar", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (ServicoSelecionada == null) { MessageBox.Show("Para imprimir por favor selecione um Servico", "Servico por selecionar", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (clienteSelecionado == null || carroOficinaSelecionado == null || ServicoSelecionada == null) { return; } ImprimirDocumentos imprimir = new ImprimirDocumentos(); imprimir.carroOficinaUnica(clienteSelecionado, carroOficinaSelecionado, ServicoSelecionada); }
//Função Editar Carro private void ButtonEditarCarro_Click(object sender, EventArgs e) { CarrosOficina carroSelecionado = (CarrosOficina)lbxCarros.SelectedItem; Form_AddEdit_Carro edicaoCarro = new Form_AddEdit_Carro(); edicaoCarro.Text = "Edição do Carro Selecionado"; edicaoCarro.tbxMarcaCarro.Text = carroSelecionado.Marca; edicaoCarro.tbxModeloCarro.Text = carroSelecionado.Modelo; edicaoCarro.tbxMatriculaCarro.Text = carroSelecionado.Matricula; edicaoCarro.tbxNumChassis.Text = carroSelecionado.NumeroChassis; edicaoCarro.nudKms.Value = decimal.Parse(carroSelecionado.Kms); edicaoCarro.tbxCombustivelCarro.Text = carroSelecionado.Combustivel; edicaoCarro.ShowDialog(); if (edicaoCarro.DialogResult == DialogResult.OK) { carroSelecionado.Marca = edicaoCarro.marca; carroSelecionado.Modelo = edicaoCarro.modelo; carroSelecionado.Matricula = edicaoCarro.matricula; carroSelecionado.NumeroChassis = edicaoCarro.numeroChassis; carroSelecionado.Kms = edicaoCarro.kms; carroSelecionado.Combustivel = edicaoCarro.combustivel; conteudoNovo = true; AtualizarCarros(); } }
//Função Eliminar Carro da Oficina private void ButtonEliminarCarro_Click(object sender, EventArgs e) { CarrosOficina carroSelecionado = (CarrosOficina)lbxCarros.SelectedItem; DialogResult dialogResult; if (carroSelecionado == null) { MessageBox.Show("Nenhum Carro Selecionado", "Erro: Carro Inválido", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } dialogResult = MessageBox.Show("Pretende eliminar o Carro selecionada?.", "Eliminar Carro?", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (carroSelecionado.Servico.Count == 0 && dialogResult == DialogResult.Yes) { listaCarros.Remove(carroSelecionado); StandLocalDB.Carro.Remove(carroSelecionado); AtualizarCarros(); conteudoNovo = true; } else if (dialogResult == DialogResult.Yes) { MessageBox.Show("O carro selecionado tem serviços associados. Elimine primeiro os Serviços para prosseguir.", "Erro ao Eliminar Carro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } }
//Imprime todo o histórico do cliente selecionado na gestão de Oficina public void CarroOficinaHistorico(Clientes clienteSelecionado, CarrosOficina carroSelecionado) { double valorTotal = 0; SaveFileDialog save = new SaveFileDialog(); save.InitialDirectory = @"C:/"; save.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; save.FileName = "Serviços no Carro " + carroSelecionado.Matricula; save.DefaultExt = ".txt"; if (save.ShowDialog() != DialogResult.OK) { return; } Stream caminhoFiceiro = save.OpenFile(); StreamWriter sw = new StreamWriter(caminhoFiceiro); sw.WriteLine("StandLocal - Qualquer serviço tem um preço."); sw.WriteLine(" "); sw.WriteLine(" "); sw.WriteLine("Nome: " + clienteSelecionado.Nome); sw.WriteLine("___________________________________________________"); sw.WriteLine("Nif: " + clienteSelecionado.NIF); sw.WriteLine("___________________________________________________"); sw.WriteLine(" "); sw.WriteLine(" "); sw.WriteLine("Carro:"); sw.WriteLine("Marca:" + carroSelecionado.Marca + " Modelo: " + carroSelecionado.Modelo); sw.WriteLine("Matricula:" + carroSelecionado.Matricula + " Tipo de Combustivel: " + carroSelecionado.Combustivel); foreach (Servicos s in carroSelecionado.Servico) { sw.WriteLine("___________________________________________________"); sw.WriteLine("Serviço Inicializado no dia: " + s.DataEntrada.ToString("dd-MM-yy")); sw.WriteLine("Serviço finalizada no dia: " + s.DataSaida.ToString("dd-MM-yy")); sw.WriteLine("___________________________________________________"); sw.WriteLine(" "); sw.WriteLine(" "); sw.WriteLine("Serviços Efetuados no carro:"); foreach (Parcelas ps in s.Parcela) { sw.WriteLine(" Descrição:" + ps.Descricao + " Valor: " + ps.Valor + "€"); valorTotal += ps.Valor; } } sw.WriteLine("Valor Total pago em Serviços: " + valorTotal + "€"); sw.Close(); MessageBox.Show("Dados guadados com sucesso!"); }
//Atualiza a listBoxServicos private void AtualizarServicos() { CarrosOficina carroSelecionado = (CarrosOficina)lbxCarros.SelectedItem; if (carroSelecionado == null) { lbxServicos.DataSource = null; return; } else { lbxServicos.DataSource = null; lbxServicos.DataSource = carroSelecionado.Servico.ToList(); } }
//Verifica qual o Carro selecionado private void LbxCarros_SelectedIndexChanged(object sender, EventArgs e) { CarrosOficina carroSelecionado = (CarrosOficina)lbxCarros.SelectedItem; if (carroSelecionado == null) { DisableCarros(); return; } else { EnableCarros(); AtualizarServicos(); AtualizarParcelas(); } }
//Adicionar Serviço ao Carro selecionado private void ButtonAddServico_Click(object sender, EventArgs e) { CarrosOficina carroSelecionado = (CarrosOficina)lbxCarros.SelectedItem; Form_AddEdit_Servico novoServico = new Form_AddEdit_Servico(); novoServico.ShowDialog(); Servicos servicoTemp = new Servicos { Tipo = novoServico.tipo, DataEntrada = novoServico.dataEntrada, DataSaida = novoServico.dataSaida }; if (novoServico.DialogResult == DialogResult.OK) { listaServicos.Add(servicoTemp); ((CarrosOficina)StandLocalDB.Carro.Find(carroSelecionado.idCarro)).Servico.Add(servicoTemp); carroSelecionado.Servico.Add(servicoTemp); conteudoNovo = true; AtualizarServicos(); } }
//Imprimir todas as ações do cliente private void imprimirHistoricoCarroToolStripMenuItem_Click(object sender, EventArgs e) { Clientes clienteSelecionado = (Clientes)lbxClientes.SelectedItem; CarrosOficina carroOficinaSelecionado = (CarrosOficina)lbxCarros.SelectedItem; if (clienteSelecionado == null) { MessageBox.Show("Para imprimir por favor selecione um cliente.", "Cliente por selecionar", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (carroOficinaSelecionado == null) { MessageBox.Show("Para imprimir por favor selecione um carro", "Carro por selecionar", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (clienteSelecionado == null || carroOficinaSelecionado == null) { return; } ImprimirDocumentos imprimir = new ImprimirDocumentos(); imprimir.CarroOficinaHistorico(clienteSelecionado, carroOficinaSelecionado); }
//Função Adicionar Carro para Oficina private void ButtonAddCarro_Click(object sender, EventArgs e) { Clientes clienteSelecionado = (Clientes)lbxClientes.SelectedItem; Form_AddEdit_Carro novocarro = new Form_AddEdit_Carro(); novocarro.ShowDialog(); CarrosOficina carroTemp = new CarrosOficina { Marca = novocarro.marca, Modelo = novocarro.modelo, Matricula = novocarro.matricula, NumeroChassis = novocarro.numeroChassis, Combustivel = novocarro.combustivel, Kms = novocarro.kms }; if (novocarro.DialogResult == DialogResult.OK) { listaCarros.Add(carroTemp); StandLocalDB.Clientes.Find(clienteSelecionado.IdCliente).CarroOficina.Add(carroTemp); AtualizarCarros(); conteudoNovo = true; } }
//Imprime a fatura do serviço selecionado na gestão de Oficina public void carroOficinaUnica(Clientes clienteSelecionado, CarrosOficina carrosOficina, Servicos servicoSelecionado) { List <Parcelas> listaServico = new List <Parcelas>(); double valorTotal = 0; foreach (Parcelas parcela in servicoSelecionado.Parcela) { listaServico.Add(parcela); } SaveFileDialog save = new SaveFileDialog(); save.InitialDirectory = @"C:/"; save.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; save.FileName = "Servico feito no carro do cliente " + clienteSelecionado.Nome; save.DefaultExt = ".txt"; if (save.ShowDialog() != DialogResult.OK) { return; } Stream caminhoFiceiro = save.OpenFile(); StreamWriter sw = new StreamWriter(caminhoFiceiro); string done = "(ACABADO) "; sw.WriteLine("StandLocal - Qualquer serviço tem um preço."); sw.WriteLine(" "); sw.WriteLine(" "); sw.WriteLine("Nome: " + clienteSelecionado.Nome); sw.WriteLine("___________________________________________________"); sw.WriteLine("Nif: " + clienteSelecionado.NIF); sw.WriteLine("___________________________________________________"); sw.WriteLine(" "); sw.WriteLine(" "); sw.WriteLine("Carro:"); sw.WriteLine("Marca:" + carrosOficina.Marca + " Modelo: " + carrosOficina.Modelo); sw.WriteLine("Matricula:" + carrosOficina.Matricula + " Tipo de Combustivel: " + carrosOficina.Combustivel); sw.WriteLine(" "); sw.WriteLine(" "); sw.WriteLine("___________________________________________________"); if (servicoSelecionado.Tipo.ToString().Contains(done) == true) { servicoSelecionado.Tipo = servicoSelecionado.Tipo.Replace(done, ""); } sw.WriteLine("Tipo de Serviço: " + servicoSelecionado.Tipo); sw.WriteLine("Data de inicio do Serviço: " + servicoSelecionado.DataEntrada.ToString("dd-MM-yy")); sw.WriteLine("Data de finalização do Serviço: " + servicoSelecionado.DataSaida.ToString("dd-MM-yy")); sw.WriteLine("___________________________________________________"); foreach (Parcelas parcelas in listaServico) { sw.WriteLine(" "); sw.WriteLine(" "); sw.WriteLine("___________________________________________________"); sw.WriteLine("Valor: " + parcelas.Valor); sw.WriteLine("Descrição: " + parcelas.Descricao); sw.WriteLine("___________________________________________________"); valorTotal += parcelas.Valor; } sw.WriteLine(" Valor Total do Serviço: " + valorTotal.ToString() + "€"); sw.Close(); MessageBox.Show("Dados guadados com sucesso!"); }