// Para adicionar uma compra private void buttonAdicionarCompra_Click(object sender, EventArgs e) { try { Clientes clienteSelecionado = (Clientes)cbCliente.SelectedItem; if (clienteSelecionado != null && dadosPreenchidosCompra()) { Compras nova = new Compras() { IdCliente = clienteSelecionado.IdPessoa, Data = DateTime.Now, UtilizouCartao = radioButtonS.Checked ? radioButtonS.Text : radioButtonN.Text }; bookidsContainer.ComprasSet.Add(nova); bookidsContainer.SaveChanges(); carregaCompras(clienteSelecionado); MessageBox.Show("Compra adicionada com sucesso!", "Informação", MessageBoxButtons.OK); } } catch { MessageBox.Show("Certifique-se de selecionar o cliente para adicionar uma compra", "Informação", MessageBoxButtons.OK); } }
// Para adicionar um detalhe da compra private void buttonAdicionarProduto_Click(object sender, EventArgs e) { try { bool produtoExiste = false; Compras compraSelecionada = (Compras)listBoxCompra.SelectedItem; if (compraSelecionada != null) { foreach (DetalheCompras dc in compraSelecionada.DetalheCompras.ToList <DetalheCompras>()) { if (dc.CodProduto == ((Produtos)cbProduto.SelectedItem).CodProduto) { produtoExiste = true; } } if (produtoExiste == false) { if (numericUpDownQuantidade.Value < ((Produtos)cbProduto.SelectedItem).StockExistente) { Produtos produto = (Produtos)cbProduto.SelectedItem; DetalheCompras novo = new DetalheCompras() { NrCompra = compraSelecionada.NrCompra, CodProduto = ((Produtos)cbProduto.SelectedItem).CodProduto, Quantidade = (int)numericUpDownQuantidade.Value }; produto.StockExistente = produto.StockExistente - (int)numericUpDownQuantidade.Value; bookidsContainer.DetalheComprasSet.Add(novo); bookidsContainer.SaveChanges(); limparDados(); carregaDetalhesCompra(compraSelecionada); MessageBox.Show("Detalhe de compra adicionada com sucesso!", "Informação", MessageBoxButtons.OK); } else { MessageBox.Show("Stock Insuficiente!", "Aviso", MessageBoxButtons.OK); } } else { MessageBox.Show("Este detalhe já foi adicionado à compra. Se quiser fazer alguma alteração, apague o detalhe da compra e adicione novamente!", "Aviso", MessageBoxButtons.OK); } } } catch { MessageBox.Show("Não se esqueça de selecionar a compra que pretende adicionar o detalhe!", "Aviso", MessageBoxButtons.OK); } }
// <------------------- Fatura -------------------> private void faturaToolStripMenuItem_Click(object sender, EventArgs e) { try { Clientes clienteSelecionado = (Clientes)cbCliente.SelectedItem; if (clienteSelecionado != null) { Compras compraSelecionada = (Compras)listBoxCompra.SelectedItem; if (compraSelecionada != null) { string fatura = ""; saveFileDialog_Save.FileName = clienteSelecionado.Nome + "_" + compraSelecionada.NrCompra + ".txt"; saveFileDialog_Save.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; saveFileDialog_Save.FilterIndex = 1; if (saveFileDialog_Save.ShowDialog() == DialogResult.OK) { FileStream fs = new FileStream(saveFileDialog_Save.FileName, FileMode.Create, FileAccess.Write); StreamWriter sw = new StreamWriter(fs); fatura += "Fatura-Recibo\n\nData: " + compraSelecionada.Data + "\nNome: " + clienteSelecionado.Nome + "\n"; if (compraSelecionada.UtilizouCartao == "Sim") { fatura += "Número do Cartão: " + clienteSelecionado.NrCartao + "\n"; } fatura += "\n\nProduto Quantidade Preço\n"; fatura += "_______________________________________________\n"; foreach (DetalheCompras dc in compraSelecionada.DetalheCompras.ToList <DetalheCompras>()) { fatura += "\n" + dc.Produtos.Designacao + " " + dc.Quantidade + " " + (dc.Quantidade * dc.Produtos.Preco) + " €"; } fatura += "\n_______________________________________________\n"; fatura += "\nIVA: " + (Compras.iva) * 100 + "%\n"; fatura += "Total (IVA incluído): " + compraSelecionada.getTotalCompra() + " €"; sw.WriteLine(fatura); sw.Close(); MessageBox.Show("Fatura da compra exportada com sucesso!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information); fs.Close(); } } } } catch { MessageBox.Show("Selecione primeiro o cliente e a compra que pretende fazer fatura!", "Aviso", MessageBoxButtons.OK); } }
private void listBoxCompra_SelectedIndexChanged(object sender, EventArgs e) { try { Clientes clienteSelecionado = (Clientes)cbCliente.SelectedItem; if (clienteSelecionado != null) { Compras compraSelecionada = (Compras)listBoxCompra.SelectedItem; if (compraSelecionada != null) { carregaDetalhesCompra(compraSelecionada); labelTotalDetalhesCompra.Text = string.Format("{0:C}", compraSelecionada.getTotalCompra()); } } } catch { } }
// Para apagar uma compra private void buttonApagarCompra_Click(object sender, EventArgs e) { try { Compras compraSelecionada = (Compras)listBoxCompra.SelectedItem; if (compraSelecionada != null) { if (MessageBox.Show("Esta operação implica remover todos os detalhes da compra. Tem a certeza que pretende apagá-la?", "Atenção", MessageBoxButtons.OKCancel) == DialogResult.OK) { bookidsContainer.ComprasSet.Remove(compraSelecionada); bookidsContainer.SaveChanges(); Clientes clienteSelecionado = (Clientes)cbCliente.SelectedItem; carregaCompras(clienteSelecionado); MessageBox.Show("Compra apagada com sucesso!", "Informação", MessageBoxButtons.OK); } } } catch { MessageBox.Show("Certifique-se de selecionar a compra!", "Aviso", MessageBoxButtons.OK); } }
// Permite carregar a listBox dos detalhes de Compra private void carregaDetalhesCompra(Compras compraSelecionada) { listBoxProdutos.DataSource = null; listBoxProdutos.DataSource = compraSelecionada.DetalheCompras.ToList <DetalheCompras>(); }