746 lines
29 KiB
C#
746 lines
29 KiB
C#
using BLL;
|
|
using DAL;
|
|
using Modelo;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using iTextSharp.text;
|
|
using iTextSharp.text.pdf;
|
|
using System.Xml;
|
|
namespace IBRCAD
|
|
{
|
|
public partial class frm_movimentacaovenda : Form
|
|
{
|
|
public string operacao;
|
|
private double totalvenda;
|
|
public frm_movimentacaovenda()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
public void alterabotoes(int op)
|
|
{
|
|
pn_dados.Enabled = false;
|
|
pnfinalizar.Visible = false;
|
|
pn_dados.Visible = true;
|
|
pn_controls.Visible = true;
|
|
//gpparcelas.Enabled = false;
|
|
|
|
btn_inserir.Enabled = false;
|
|
btn_localizar.Enabled = false;
|
|
btn_alterar.Enabled = false;
|
|
btn_excluir.Enabled = false;
|
|
btn_cancel.Enabled = false;
|
|
btn_save.Enabled = false;
|
|
btn_print.Enabled = false;
|
|
|
|
if (op == 1)
|
|
{
|
|
btn_inserir.Enabled = true;
|
|
btn_localizar.Enabled = true;
|
|
}
|
|
if (op == 2)
|
|
{
|
|
pn_dados.Enabled = true;
|
|
btn_save.Enabled = true;
|
|
btn_cancel.Enabled = true;
|
|
btn_print.Enabled = true;
|
|
}
|
|
if (op == 3)
|
|
{
|
|
btn_alterar.Enabled = true;
|
|
btn_excluir.Enabled = true;
|
|
btn_cancel.Enabled = true;
|
|
}
|
|
}//end altera botões
|
|
private double verificaqtdeprodutos(int procod)
|
|
{
|
|
double qtde_estoque = 0;
|
|
try
|
|
{
|
|
DALLconexao cx = new DALLconexao(DadosDaConexao.StringDeConexao);
|
|
BLLProduto bll = new BLLProduto(cx);
|
|
ModeloProduto modelo = bll.CarregaModeloProduto(procod);
|
|
qtde_estoque = modelo.ProQtde;
|
|
for (int i = 0; i < dgVendas.RowCount; i++)
|
|
{
|
|
if (Convert.ToDouble(dgVendas.Rows[i].Cells[0].Value) == procod)
|
|
{
|
|
qtde_estoque -= Convert.ToDouble(dgVendas.Rows[i].Cells[2].Value);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
|
|
|
|
|
|
return qtde_estoque;
|
|
}//verificar estoque
|
|
|
|
private void displayclear()
|
|
{
|
|
this.txt_vendCod.Text = "";
|
|
this.txt_notafiscal.Text = "";
|
|
this.txt_clicod.Text = "";
|
|
this.txt_nomeCli.Text = "";
|
|
this.txt_procod.Text = "";
|
|
this.txt_proname.Text = "";
|
|
this.txtqtde.Text = "";
|
|
this.txtValorUnitario.Text = "";
|
|
this.txtTotal.Text = "";
|
|
this.dgVendas.Rows.Clear();
|
|
this.dgvParcelas.Rows.Clear();
|
|
this.cbParcelas.Text = "1";
|
|
}
|
|
private void buttonGerarPDF_Click(DataGridView dataGridView1, object sender, EventArgs e)
|
|
{
|
|
// Criar o documento PDF
|
|
Document doc = new Document();
|
|
|
|
try
|
|
{
|
|
// Escolher o local para salvar o PDF
|
|
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
|
|
saveFileDialog1.Filter = "PDF (*.pdf)|*.pdf";
|
|
saveFileDialog1.Title = "Salvar PDF";
|
|
saveFileDialog1.ShowDialog();
|
|
|
|
if (saveFileDialog1.FileName != "")
|
|
{
|
|
// Criar o arquivo PDF
|
|
FileStream fs = new FileStream(saveFileDialog1.FileName, FileMode.Create, FileAccess.Write, FileShare.None);
|
|
PdfWriter writer = PdfWriter.GetInstance(doc, fs);
|
|
doc.Open();
|
|
|
|
// Adicionar cabeçalho "Relatório de compras"
|
|
Paragraph cabecalho = new Paragraph("Relatório de compras\n\n");
|
|
cabecalho.Alignment = Element.ALIGN_CENTER;
|
|
doc.Add(cabecalho);
|
|
|
|
// Adicionar data atual ao PDF
|
|
Paragraph dataAtual = new Paragraph("Data: " + DateTime.Now.ToShortDateString() + "\n\n");
|
|
doc.Add(dataAtual);
|
|
|
|
// Adicionar conteúdo ao PDF a partir do DataGridView
|
|
PdfPTable table = new PdfPTable(dataGridView1.ColumnCount);
|
|
for (int i = 0; i < dataGridView1.ColumnCount; i++)
|
|
{
|
|
table.AddCell(new Phrase(dataGridView1.Columns[i].HeaderText));
|
|
}
|
|
table.HeaderRows = 1;
|
|
double valorTotalCompras = 0;
|
|
for (int i = 0; i < dataGridView1.Rows.Count; i++)
|
|
{
|
|
for (int j = 0; j < dataGridView1.Columns.Count; j++)
|
|
{
|
|
if (dataGridView1[j, i].Value != null)
|
|
{
|
|
table.AddCell(new Phrase(dataGridView1[j, i].Value.ToString()));
|
|
// Somar os valores da quinta coluna
|
|
if (j == 4)
|
|
{
|
|
double valor;
|
|
if (double.TryParse(dataGridView1[j, i].Value.ToString(), out valor))
|
|
{
|
|
valorTotalCompras += valor;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
doc.Add(table);
|
|
|
|
// Adicionar o valor total de compras ao PDF
|
|
Paragraph totalCompras = new Paragraph("\n\nValor total de compras: R$ " + valorTotalCompras.ToString("0.00"));
|
|
doc.Add(totalCompras);
|
|
|
|
// Fechar o documento e liberar recursos
|
|
doc.Close();
|
|
writer.Close();
|
|
fs.Close();
|
|
|
|
MessageBox.Show("PDF gerado com sucesso!");
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("Erro ao gerar PDF: " + ex.Message);
|
|
}
|
|
finally
|
|
{
|
|
// Certificar-se de que o documento é fechado, mesmo em caso de exceção
|
|
if (doc.IsOpen())
|
|
{
|
|
doc.Close();
|
|
}
|
|
}
|
|
}
|
|
|
|
private void pb_exit_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}//end close
|
|
|
|
private void btn_inserir_Click(object sender, EventArgs e)
|
|
{
|
|
this.operacao = "inserir";
|
|
this.totalvenda = 0;
|
|
this.alterabotoes(2);
|
|
}//btn inserir
|
|
|
|
private void btn_localizar_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
frm_consultavendas fc = new frm_consultavendas();
|
|
fc.ShowDialog();
|
|
if (fc.codigo != 0)
|
|
{
|
|
DALLconexao cx = new DALLconexao(DadosDaConexao.StringDeConexao);
|
|
BLLvenda bvenda = new BLLvenda(cx);
|
|
ModeloVenda mvenda = bvenda.CarregaModeloVenda(fc.codigo);
|
|
txt_vendCod.Text = mvenda.Ven_cod.ToString();
|
|
txt_notafiscal.Text = mvenda.Ven_nfiscal.ToString();
|
|
dtpDataVenda.Value =Convert.ToDateTime(mvenda.Ven_data);
|
|
cbTipoPag.SelectedValue = mvenda.Tpa_cod;
|
|
cbParcelas.SelectedValue = mvenda.Ven_nparcelas;
|
|
if (mvenda.Ven_avista == 1)
|
|
{
|
|
chb_avista.Checked = true;
|
|
}
|
|
else
|
|
{
|
|
chb_avista.Checked = false;
|
|
}
|
|
cbParcelas.Text = mvenda.Ven_nparcelas.ToString();
|
|
txt_clicod.Text = mvenda.Cli_cod.ToString();
|
|
txt_clicod_Leave(sender, e);
|
|
txtTotal.Text = mvenda.Ven_total.ToString();
|
|
this.totalvenda = mvenda.Ven_total;
|
|
//itens da venda
|
|
|
|
BLLitensVenda bitens = new BLLitensVenda(cx);
|
|
DataTable tabela = bitens.localizar(mvenda.Ven_cod);
|
|
for (int i = 0; i < tabela.Rows.Count; i++)
|
|
{
|
|
|
|
string icod = tabela.Rows[i]["pro_cod"].ToString();
|
|
string inome = tabela.Rows[i]["pro_nome"].ToString();
|
|
string iqtde = tabela.Rows[i]["itv_qtde"].ToString();
|
|
string ivalorU = tabela.Rows[i]["itv_valor"].ToString();
|
|
double valorTotal = Convert.ToDouble(tabela.Rows[i]["itv_qtde"]) * Convert.ToDouble(tabela.Rows[i]["itv_valor"]);
|
|
string[] it = new string[] { icod, inome, iqtde, ivalorU, valorTotal.ToString() };
|
|
this.dgVendas.Rows.Add(it);
|
|
|
|
}
|
|
|
|
this.alterabotoes(3);
|
|
|
|
if (mvenda.Ven_status == "ativo")
|
|
{
|
|
lbl_statusvenda.Text = "Ativa";
|
|
lbl_statusvenda.ForeColor = Color.Green;
|
|
pn_dados.Enabled = true;
|
|
}
|
|
else
|
|
{
|
|
|
|
lbl_statusvenda.Text = "Cancelada";
|
|
lbl_statusvenda.ForeColor = Color.Red;
|
|
pn_dados.Enabled = true;
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
else
|
|
{
|
|
this.alterabotoes(1);
|
|
this.displayclear();
|
|
}
|
|
fc.Dispose();
|
|
|
|
}//end localizar
|
|
|
|
private void btn_alterar_Click(object sender, EventArgs e)
|
|
{
|
|
DALLconexao cx = new DALLconexao(DadosDaConexao.StringDeConexao);
|
|
BLLparcelascompra bparcelas = new BLLparcelascompra(cx);
|
|
BLLCompra bLLCompra = new BLLCompra(cx);
|
|
BLLitensCompra bitens = new BLLitensCompra(cx);
|
|
int comcod = Convert.ToInt32(txt_vendCod.Text);
|
|
int qtde = Convert.ToInt32(cbParcelas.Text);
|
|
qtde -= bLLCompra.verificarParcelasEmAberto(comcod);
|
|
|
|
if (qtde == 0)
|
|
{
|
|
this.alterabotoes(2);
|
|
this.operacao = "alterar";
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("Impossivel alterar registro,pois existe parcelas pagas na compra", "Aviso!", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
}//end update
|
|
|
|
private void btn_excluir_Click(object sender, EventArgs e)
|
|
{
|
|
DialogResult r = MessageBox.Show("Deseja realizar o cancelamento dessa venda?", "Cancelamento", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
|
if (r == DialogResult.Yes)
|
|
{
|
|
DALLconexao conexao = new DALLconexao(DadosDaConexao.StringDeConexao);
|
|
BLLvenda bvenda = new BLLvenda(conexao);
|
|
if (bvenda.CancelarVenda(Convert.ToInt32(txt_vendCod.Text)))
|
|
{
|
|
MessageBox.Show("Venda Cancelada com sucesso!", "Cancelamento da venda efetuado com sucesso.");
|
|
this.displayclear();
|
|
this.alterabotoes(1);
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("Não foi possivel efetuar o cancelamento da venda,por favor contacte o administrador do sistema", "Erro ao tentar cancelar");
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
this.alterabotoes(1);
|
|
this.displayclear();
|
|
}//cancelando a venda
|
|
}//end delete
|
|
|
|
private void btn_save_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
if (totalvenda > 0)
|
|
{
|
|
dgvParcelas.Rows.Clear();
|
|
int parcelas = Convert.ToInt32(cbParcelas.Text);
|
|
double totalLocal = Convert.ToDouble(txtTotal.Text);
|
|
double valorLocal = totalLocal / parcelas;
|
|
DateTime dt = new DateTime();
|
|
dt = dtpInicial.Value;
|
|
//lblTotalCompra.Text = totalCompra.ToString();
|
|
lblTotalVenda.Text = txtTotal.Text;
|
|
for (int i = 1; i <= parcelas; i++)
|
|
{
|
|
string[] k = new string[] { i.ToString(), valorLocal.ToString(), dt.Date.ToString() };
|
|
dgvParcelas.Rows.Add(k);
|
|
if (dt.Month != 12)
|
|
{
|
|
dt = new DateTime(dt.Year, dt.Month + 1, dt.Day);
|
|
}
|
|
else
|
|
{
|
|
dt = new DateTime(dt.Year + 1, 1, dt.Day);
|
|
}
|
|
this.pnfinalizar.Visible = true;
|
|
}
|
|
this.btn_save.Enabled = false;
|
|
this.btn_cancel.Enabled = false;
|
|
this.btn_print.Enabled = false;
|
|
this.pnfinalizar.Visible = true;
|
|
this.pnfinalizar.Location = new Point(4, 27);
|
|
this.pnfinalizar.Enabled = true;
|
|
this.pn_dados.Visible = false;
|
|
this.pn_controls.Visible = false;
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("Porfavor preencha todos os campos para prosseguir com a venda!", "Campos faltando");
|
|
}
|
|
}//end save 1
|
|
|
|
private void btn_cancel_Click(object sender, EventArgs e)
|
|
{
|
|
this.alterabotoes(1);
|
|
this.displayclear();
|
|
this.totalvenda = 0x00;
|
|
}//end cancell
|
|
|
|
private void btn_save2_Click(object sender, EventArgs e)
|
|
{
|
|
DALLconexao cx = new DALLconexao(DadosDaConexao.StringDeConexao); //string conexão
|
|
cx.Conectar();
|
|
cx.IniciarTransacao(); //Inicializando Transação com o banco de dados
|
|
|
|
try
|
|
{
|
|
//leitura dos dados nos modelos
|
|
ModeloVenda modeloVenda = new ModeloVenda();
|
|
ModeloItensVenda itensVenda = new ModeloItensVenda();
|
|
ModeloParcelasVenda mparcelas = new ModeloParcelasVenda();
|
|
modeloVenda.Ven_data =Convert.ToDateTime(dtpDataVenda.Value);
|
|
modeloVenda.Ven_nfiscal = Convert.ToInt32(txt_notafiscal.Text);
|
|
modeloVenda.Ven_nparcelas = Convert.ToInt32(cbParcelas.Text);
|
|
modeloVenda.Ven_status = "ativo";
|
|
//modelo.ComTotal = this.totalCompra;
|
|
modeloVenda.Ven_total = Convert.ToInt32(lblTotalVenda.Text);
|
|
modeloVenda.Cli_cod = Convert.ToInt32(txt_clicod.Text);
|
|
modeloVenda.Tpa_cod = Convert.ToInt32(cbTipoPag.SelectedValue);
|
|
if (chb_avista.Checked)
|
|
{
|
|
modeloVenda.Ven_avista = 1;
|
|
}
|
|
else
|
|
{
|
|
modeloVenda.Ven_avista = 0;
|
|
}
|
|
|
|
//inicializando blls
|
|
|
|
BLLvenda bllVenda = new BLLvenda(cx);
|
|
BLLparcelasvenda bparcelas = new BLLparcelasvenda(cx);
|
|
BLLitensVenda bllitensVenda = new BLLitensVenda(cx);
|
|
if (this.operacao == "inserir")
|
|
{
|
|
bllVenda.Incluir(modeloVenda);
|
|
for (int i = 0; i < dgVendas.RowCount; i++)
|
|
{
|
|
itensVenda.Itv_cod = i + 1;
|
|
itensVenda.Ven_cod = modeloVenda.Ven_cod;
|
|
itensVenda.Pro_cod = Convert.ToInt32(dgVendas.Rows[i].Cells[0].Value);
|
|
itensVenda.Itv_qtde = Convert.ToDouble(dgVendas.Rows[i].Cells[2].Value);
|
|
itensVenda.Itv_valor = Convert.ToDouble(dgVendas.Rows[i].Cells[3].Value);
|
|
bllitensVenda.Incluir(itensVenda);
|
|
}
|
|
for (int i = 0; i < dgvParcelas.RowCount; i++)
|
|
{
|
|
mparcelas.Ven_cod = modeloVenda.Ven_cod;
|
|
mparcelas.Pve_cod = Convert.ToInt32(dgvParcelas.Rows[i].Cells[0].Value);
|
|
mparcelas.Pve_valor = Convert.ToDouble(dgvParcelas.Rows[i].Cells[1].Value);
|
|
mparcelas.Datavenci = Convert.ToDateTime(dgvParcelas.Rows[i].Cells[2].Value);
|
|
bparcelas.Incluir(mparcelas);
|
|
}
|
|
//dgVendas.DataSource = "";
|
|
MessageBox.Show("Venda efetuada: Código : " + modeloVenda.Ven_cod.ToString());
|
|
|
|
}
|
|
|
|
this.pnfinalizar.Visible = false;
|
|
this.dgvParcelas.DataSource = null;
|
|
this.displayclear();
|
|
this.alterabotoes(1);
|
|
cx.TerminarTransacao(); //termina transação
|
|
cx.Desconectar(); //desconecta do banco
|
|
|
|
}
|
|
catch (Exception erro)
|
|
{
|
|
|
|
MessageBox.Show(erro.Message, "Erro 01: Sql");
|
|
cx.cancelarTransacao(); //desfaz tudo
|
|
cx.Desconectar(); //desconectando mesmo se tiver erro
|
|
}
|
|
|
|
}//end save 2
|
|
|
|
private void btn_cancel2_Click(object sender, EventArgs e)
|
|
{
|
|
this.pnfinalizar.Visible = false;
|
|
this.displayclear();
|
|
this.alterabotoes(1);
|
|
}//end cancell 2
|
|
|
|
private void frm_movimentacaocompra_Load(object sender, EventArgs e)
|
|
{
|
|
this.totalvenda = 0;
|
|
this.alterabotoes(1);
|
|
DALLconexao cx = new DALLconexao(DadosDaConexao.StringDeConexao);
|
|
BLLTipoPagamento pagamento = new BLLTipoPagamento(cx);
|
|
cbTipoPag.DataSource = pagamento.Localizar("");
|
|
cbTipoPag.DisplayMember = "tpa_nome";
|
|
cbTipoPag.ValueMember = "tpa_cod";
|
|
cbParcelas.Text = "1";
|
|
}
|
|
|
|
private void btn_loc_for_Click(object sender, EventArgs e)
|
|
{
|
|
frm_consultacliente f = new frm_consultacliente();
|
|
f.ShowDialog();
|
|
if (f.codigo != 0)
|
|
{
|
|
txt_clicod.Text = f.codigo.ToString();
|
|
this.txt_clicod_Leave(sender, e);
|
|
}
|
|
}//end loc cliente
|
|
|
|
|
|
private void btn_loc_produto_Click(object sender, EventArgs e)
|
|
{
|
|
frm_consultaprodutos f = new frm_consultaprodutos();
|
|
f.ShowDialog();
|
|
if (f.codigo != 0)
|
|
{
|
|
|
|
#pragma warning disable CS1690 // Acessar um membro em um campo de uma classe de empacotamento por referência pode gerar uma exceção de tempo de execução
|
|
txt_procod.Text = f.codigo.ToString();
|
|
#pragma warning restore CS1690 // Acessar um membro em um campo de uma classe de empacotamento por referência pode gerar uma exceção de tempo de execução
|
|
txt_procod_Leave(sender, e);
|
|
|
|
}
|
|
|
|
f.Dispose();
|
|
}
|
|
|
|
private void txt_proname_Leave(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void txt_procod_Leave(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
DALLconexao cx = new DALLconexao(DadosDaConexao.StringDeConexao);
|
|
BLLProduto bll = new BLLProduto(cx);
|
|
ModeloProduto modelo = bll.CarregaModeloProduto(Convert.ToInt32(txt_procod.Text));
|
|
txt_proname.Text = modelo.ProNome;
|
|
txtqtde.Text = "1";
|
|
txtValorUnitario.Text = modelo.ProValorPago.ToString();
|
|
|
|
}
|
|
catch
|
|
{
|
|
this.txt_procod.Text = "";
|
|
this.txt_proname.Text = "";
|
|
}
|
|
}//end leave procod
|
|
|
|
private void btnAddProd_Click(object sender, EventArgs e)
|
|
{
|
|
double qtde = 0;
|
|
try
|
|
{
|
|
if ((txt_procod.Text != "") && (txtqtde.Text != "") && (txtValorUnitario.Text != ""))
|
|
{
|
|
if (chb_verificar_estoque.Checked)
|
|
{
|
|
qtde = verificaqtdeprodutos(Convert.ToInt32(txt_procod.Text));
|
|
if (Convert.ToDouble(txtqtde.Text) > qtde)
|
|
{
|
|
MessageBox.Show("Quantidade de produtos é indisponivel, você possui " + qtde + " em seu estoque", "Não é possivel efetuar essa venda");
|
|
return;
|
|
}
|
|
}
|
|
double valorTotal = Convert.ToDouble(txtqtde.Text) * Convert.ToDouble(txtValorUnitario.Text);
|
|
this.totalvenda += valorTotal;
|
|
string[] i = new string[] { txt_procod.Text, txtqtde.Text, txtValorUnitario.Text, valorTotal.ToString() };
|
|
this.dgVendas.Rows.Add(i);
|
|
//limpar os campos
|
|
this.txt_procod.Text = "";
|
|
this.txt_proname.Text = "";
|
|
this.txtqtde.Text = "";
|
|
this.txtValorUnitario.Text = "";
|
|
txtTotal.Text = totalvenda.ToString();
|
|
}//end if
|
|
else
|
|
{
|
|
MessageBox.Show("Existe dados faltando na sua venda", "Dados faltando");
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
MessageBox.Show("Não foi possivel realizar a conversão de valores para o preenchimento da tabela", "Erro de conversão");
|
|
|
|
|
|
}
|
|
}//end add produto
|
|
|
|
private void dgCompra_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
if (e.RowIndex >= 0)
|
|
{
|
|
txt_procod.Text = dgVendas.Rows[e.RowIndex].Cells[0].Value.ToString();
|
|
txt_proname.Text = dgVendas.Rows[e.RowIndex].Cells[1].Value.ToString();
|
|
txtqtde.Text = dgVendas.Rows[e.RowIndex].Cells[2].Value.ToString();
|
|
txtValorUnitario.Text = dgVendas.Rows[e.RowIndex].Cells[3].Value.ToString();
|
|
double valor = Convert.ToDouble(dgVendas.Rows[e.RowIndex].Cells[4].Value);
|
|
this.totalvenda = this.totalvenda - valor;
|
|
dgVendas.Rows.RemoveAt(e.RowIndex);
|
|
txtTotal.Text = this.totalvenda.ToString();
|
|
}
|
|
}
|
|
private void buttonGerarXML_Click(DataGridView dataGridView1, object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
// Escolher o local para salvar o arquivo XML
|
|
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
|
|
saveFileDialog1.Filter = "XML (*.xml)|*.xml";
|
|
saveFileDialog1.Title = "Salvar XML";
|
|
saveFileDialog1.ShowDialog();
|
|
|
|
if (saveFileDialog1.FileName != "")
|
|
{
|
|
// Criar o arquivo XML
|
|
XmlTextWriter xmlWriter = new XmlTextWriter(saveFileDialog1.FileName, null);
|
|
xmlWriter.Formatting = Formatting.Indented;
|
|
xmlWriter.WriteStartDocument();
|
|
xmlWriter.WriteStartElement("RelatorioCompras");
|
|
|
|
// Adicionar data atual ao XML
|
|
xmlWriter.WriteStartElement("DataAtual");
|
|
xmlWriter.WriteString(DateTime.Now.ToShortDateString());
|
|
xmlWriter.WriteEndElement();
|
|
|
|
// Adicionar conteúdo ao XML a partir do DataGridView
|
|
xmlWriter.WriteStartElement("Compras");
|
|
for (int i = 0; i < dataGridView1.Rows.Count; i++)
|
|
{
|
|
xmlWriter.WriteStartElement("Compra");
|
|
for (int j = 0; j < dataGridView1.Columns.Count; j++)
|
|
{
|
|
if (dataGridView1[j, i].Value != null)
|
|
{
|
|
xmlWriter.WriteStartElement(dataGridView1.Columns[j].Name);
|
|
xmlWriter.WriteString(dataGridView1[j, i].Value.ToString());
|
|
xmlWriter.WriteEndElement();
|
|
}
|
|
}
|
|
xmlWriter.WriteEndElement();
|
|
}
|
|
xmlWriter.WriteEndElement();
|
|
|
|
xmlWriter.WriteEndElement();
|
|
xmlWriter.WriteEndDocument();
|
|
xmlWriter.Close();
|
|
|
|
MessageBox.Show("Arquivo XML gerado com sucesso!");
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("Erro ao gerar XML: " + ex.Message);
|
|
}
|
|
}
|
|
|
|
private void btn_print_Click(object sender, EventArgs e)
|
|
{
|
|
// this.buttonGerarPDF_Click(dgCompra,sender, e);
|
|
// this.buttonGerarXML_Click(dgCompra, sender, e);
|
|
//PrintScreenHelper.SaveCapture();
|
|
PdfPrinter.PrintDocument(dgVendas);
|
|
}//gerar relatorio
|
|
|
|
private void buttonGerarPdfPag(DataGridView dataGridView1, object sender, EventArgs e)
|
|
{
|
|
// Criar o documento PDF
|
|
Document doc = new Document();
|
|
|
|
try
|
|
{
|
|
// Escolher o local para salvar o PDF
|
|
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
|
|
saveFileDialog1.Filter = "PDF (*.pdf)|*.pdf";
|
|
saveFileDialog1.Title = "Salvar PDF";
|
|
saveFileDialog1.ShowDialog();
|
|
|
|
if (saveFileDialog1.FileName != "")
|
|
{
|
|
// Criar o arquivo PDF
|
|
FileStream fs = new FileStream(saveFileDialog1.FileName, FileMode.Create, FileAccess.Write, FileShare.None);
|
|
PdfWriter writer = PdfWriter.GetInstance(doc, fs);
|
|
doc.Open();
|
|
|
|
// Adicionar cabeçalho "Dados de Pagamento"
|
|
Paragraph cabecalho = new Paragraph("Dados de Pagamento\n\n");
|
|
cabecalho.Alignment = Element.ALIGN_CENTER;
|
|
doc.Add(cabecalho);
|
|
|
|
// Adicionar conteúdo ao PDF a partir do DataGridView
|
|
PdfPTable table = new PdfPTable(dataGridView1.ColumnCount);
|
|
for (int i = 0; i < dataGridView1.ColumnCount; i++)
|
|
{
|
|
table.AddCell(new Phrase(dataGridView1.Columns[i].HeaderText));
|
|
}
|
|
table.HeaderRows = 1;
|
|
for (int i = 0; i < dataGridView1.Rows.Count; i++)
|
|
{
|
|
for (int j = 0; j < dataGridView1.Columns.Count; j++)
|
|
{
|
|
if (dataGridView1[j, i].Value != null)
|
|
{
|
|
table.AddCell(new Phrase(dataGridView1[j, i].Value.ToString()));
|
|
}
|
|
}
|
|
}
|
|
doc.Add(table);
|
|
|
|
// Fechar o documento e liberar recursos
|
|
doc.Close();
|
|
writer.Close();
|
|
fs.Close();
|
|
|
|
MessageBox.Show("PDF gerado com sucesso!");
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("Erro ao gerar PDF: " + ex.Message);
|
|
}
|
|
finally
|
|
{
|
|
// Certificar-se de que o documento é fechado, mesmo em caso de exceção
|
|
if (doc.IsOpen())
|
|
{
|
|
doc.Close();
|
|
}
|
|
}
|
|
|
|
}//end buttonImprimirPDFPag
|
|
|
|
private void btn_imprimirPag_Click(object sender, EventArgs e)
|
|
{
|
|
this.buttonGerarPDF_Click(dgvParcelas, sender, e);
|
|
}//end btn_imprimirPag_Click
|
|
|
|
private void txt_clicod_Leave(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
DALLconexao cx = new DALLconexao(DadosDaConexao.StringDeConexao);
|
|
BLLCliente bll = new BLLCliente(cx);
|
|
ModeloCliente modelo = bll.CarregaModeloCliente(Convert.ToInt32(txt_clicod.Text));
|
|
this.txt_nomeCli.Text = modelo.CliNome;
|
|
|
|
}
|
|
catch
|
|
{
|
|
this.txt_clicod.Text = "";
|
|
|
|
}
|
|
}//end cli cod
|
|
|
|
private void chb_avista_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (chb_avista.Checked == true)
|
|
{
|
|
cbParcelas.SelectedIndex = 0;
|
|
cbParcelas.Enabled = false;
|
|
cbTipoPag.Enabled = false;
|
|
}
|
|
else
|
|
{
|
|
cbParcelas.Enabled = true;
|
|
cbTipoPag.Enabled = true;
|
|
}
|
|
|
|
}//end a vista
|
|
|
|
}
|
|
}
|