private void Anterior() { var controls = (ControlCollection)this.Controls; if (editando) { if (MessageBox.Show("Tem certeza que deseja perder os dados alterados?", "Aviso de alteração", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) { return; } } validacao.despintarCampos(controls); if (tbCodigo.Text.Length > 0) { var newNotaFiscalTerceiros = notaFiscalTerceirosDAO.Anterior(int.Parse(tbCodigo.Text)); if (newNotaFiscalTerceiros != null) { newNotaFiscalTerceiros.Pessoa = pessoaDAO.BuscaByID(newNotaFiscalTerceiros.Pessoa.PessoaID); notaFiscalTerceiros = newNotaFiscalTerceiros; itens = notaFiscalTerceiros.NotaFiscalTerceirosItem.ToList(); PreencheCampos(notaFiscalTerceiros); if (editando) { Editando(false); } } } }
private void Recarrega() { if (editando) { if (MessageBox.Show("Tem certeza que deseja perder os dados alterados?", "Aviso de alteração", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) { return; } } if (notaFiscalTerceiros != null) { notaFiscalTerceiros = notaFiscalTerceirosDAO.BuscaByID(notaFiscalTerceiros.NotaFiscalTerceirosID); notaFiscalTerceiros.Pessoa = pessoaDAO.BuscaByID(notaFiscalTerceiros.Pessoa.PessoaID); PreencheCampos(notaFiscalTerceiros); if (editando) { Editando(false); } } else { ignoracheckevent = true; Limpa(true); ignoracheckevent = false; } }
public IEnumerable <NotaFiscalTerceiros> Busca(fmEntBuscaNotaFiscalTerceiros.Filtros f) { var notasFiscais = new List <NotaFiscalTerceiros>(); var wherePessoa = f.Pessoa != null ? "AND p.idpessoa = @idpessoa" : ""; var whereCidade = f.Cidade != null ? "AND p.idcidade = @idcidade" : ""; string whereValorTotal = f.usarvalorTotalFiltro ? "AND nft.valor_documento BETWEEN @valor_documento_inicial AND @valor_documento_final" : ""; string whereDataEmissao = f.usardataEmissaoFiltro ? "AND nft.data_emissao BETWEEN @data_emissao_inicial AND @data_emissao_final" : ""; string whereDataEntrada = f.usardataEntradaFiltro ? "AND nft.data_entradasaida BETWEEN @data_entradasaida_inicial AND @data_entradasaida_final" : ""; using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) { sql.Query = @"SELECT nft.idnota_fiscal_terceiros, p.idpessoa, p.nome, nft.data_emissao, nft.data_entradasaida, nft.valor_documento FROM nota_fiscal_terceiros nft LEFT JOIN pessoa p ON nft.idpessoa = p.idpessoa WHERE 1=1 " + wherePessoa + " " + whereCidade + " " + whereValorTotal + " " + whereDataEmissao + " " + whereDataEntrada + " " + "GROUP BY nft.idnota_fiscal_terceiros"; if (f.Pessoa != null) { sql.addParam("@idpessoa", f.Pessoa.PessoaID); } if (f.Cidade != null) { sql.addParam("@idcidade", f.Cidade.CidadeID); } sql.addParam("@valor_documento_inicial", f.ValorInicial); sql.addParam("@valor_documento_final", f.ValorFinal); sql.addParam("@data_emissao_inicial", f.DataEmissaoInicial); sql.addParam("@data_emissao_final", f.DataEmissaoFinal); sql.addParam("@data_entradasaida_inicial", f.DataEntradaInicial); sql.addParam("@data_entradasaida_final", f.DataEntradaFinal); var data = sql.selectQuery(); foreach (var d in data) { var pessoa = new Pessoa(); pessoa.PessoaID = Convert.ToInt32(d["idpessoa"]); pessoa.Nome = (string)d["nome"]; var notaTerceiros = new NotaFiscalTerceiros(); notaTerceiros.NotaFiscalTerceirosID = Convert.ToInt32(d["idnota_fiscal_terceiros"]); notaTerceiros.DataEmissao = (DateTime)d["data_emissao"]; notaTerceiros.DataEntradaSaida = (DateTime)d["data_entradasaida"]; notaTerceiros.ValorTotalDocumento = (decimal)d["valor_documento"]; notaTerceiros.Pessoa = pessoa; notasFiscais.Add(notaTerceiros); } } return(notasFiscais); }
private void CarregaDados() { int c = 0; if (!int.TryParse(tbCodigo.Text, out c)) { tbCodigo.Clear(); } else { if (c != codigo) { if (editando) { if (MessageBox.Show("Tem certeza que deseja perder os dados alterados?", "Aviso de alteração", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) { return; } } codigo = c; } } if (notaFiscalTerceiros?.NotaFiscalTerceirosID == codigo) { return; } if (tbCodigo.Text.Length == 0) { Limpa(true); Editando(false); return; } var newNotaFiscalTerceiros = notaFiscalTerceirosDAO.BuscaByID(codigo); if (newNotaFiscalTerceiros != null) { newNotaFiscalTerceiros.Pessoa = pessoaDAO.BuscaByID(newNotaFiscalTerceiros.Pessoa.PessoaID); notaFiscalTerceiros = newNotaFiscalTerceiros; PreencheCampos(notaFiscalTerceiros); notaFiscalTerceiros = newNotaFiscalTerceiros; Editando(false); } else { Editando(true); Limpa(false); } }
public int SalvarOuAtualizar(NotaFiscalTerceiros notafiscal) { int retorno = 0; using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) { sql.beginTransaction(); sql.Query = @"INSERT INTO nota_fiscal_terceiros (idnota_fiscal_terceiros, data_emissao, data_entradasaida, tiponf, valor_total_itens, valor_documento, desconto_total_itens, desconto_documento, idpessoa, descricao) VALUES (@idnota_fiscal_terceiros, @data_emissao, @data_entradasaida, @tiponf, @valor_total_itens, @valor_documento, @desconto_total_itens, @desconto_documento, @idpessoa, @descricao) ON DUPLICATE KEY UPDATE data_emissao = @data_emissao, data_entradasaida = @data_entradasaida, valor_total_itens = @valor_total_itens, valor_documento = @valor_documento, desconto_total_itens = @desconto_total_itens, desconto_documento = @desconto_documento, idpessoa = @idpessoa, descricao = @descricao"; sql.addParam("@idnota_fiscal_terceiros", notafiscal.NotaFiscalTerceirosID); sql.addParam("@data_emissao", notafiscal.DataEmissao); sql.addParam("@data_entradasaida", notafiscal.DataEntradaSaida); sql.addParam("@tiponf", "S"); sql.addParam("@valor_total_itens", notafiscal.ValorTotalItens); sql.addParam("@valor_documento", notafiscal.ValorTotalDocumento); sql.addParam("@desconto_total_itens", notafiscal.DescontoTotalItens); sql.addParam("@desconto_documento", notafiscal.DescontoDocumento); sql.addParam("@descricao", notafiscal.Descricao); if (notafiscal.Pessoa != null) { sql.addParam("@idpessoa", notafiscal.Pessoa.PessoaID); } retorno = sql.insertQuery(); if (retorno > 0) { sql.Query = @"DELETE FROM nota_fiscal_terceiros_has_item WHERE idnota_fiscal_terceiros = @idnota_fiscal_terceiros"; sql.deleteQuery(); sql.Query = @"INSERT INTO nota_fiscal_terceiros_has_item (idnota_fiscal_terceiros, iditem, quantidade, valor_unitario, valor_total, desconto_porc, desconto) VALUES (@idnota_fiscal_terceiros, @iditem, @quantidade, @valor_unitario, @valor_total, @desconto_porc, @desconto)"; foreach (var i in notafiscal.NotaFiscalTerceirosItem) { sql.clearParams(); sql.addParam("@idnota_fiscal_terceiros", notafiscal.NotaFiscalTerceirosID); sql.addParam("@iditem", i.Item.ItemID); sql.addParam("@quantidade", i.Quantidade); sql.addParam("@valor_unitario", i.ValorUnitario); sql.addParam("@valor_total", i.ValorTotal); sql.addParam("@desconto_porc", i.DescontoPorc); sql.addParam("@desconto", i.Desconto); sql.insertQuery(); } } sql.Commit(); } return(retorno); }
public int MovimentaCaixa(NotaFiscalTerceiros nota) { int retorno = 0; using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) { sql.beginTransaction(); sql.Query = @"INSERT INTO caixa_lancamento (data, valor, tipomovimento, tipodocumento, lancamento, documento, idcaixa, idcaixa_plano_contas) VALUES (@data, @valor, @tipomovimento, @tipodocumento, @lancamento, @documento, @idcaixa, @idcaixa_plano_contas)"; sql.addParam("@data", nota.DataEntradaSaida); sql.addParam("@valor", nota.ValorTotalDocumento); sql.addParam("@tipomovimento", 1); sql.addParam("@tipodocumento", 3); sql.addParam("@lancamento", 1); sql.addParam("@documento", nota.NotaFiscalTerceirosID); sql.addParam("@idcaixa", nota.Caixa.CaixaID); sql.addParam("@idcaixa_plano_contas", nota.PlanoDeConta.PlanoContaID); retorno = sql.insertQuery(); if (retorno > 0) { sql.Query = "SELECT LAST_INSERT_ID() AS idcaixalancamento;"; var data = sql.selectQueryForSingleRecord(); int idcaixalancamento = Convert.ToInt32(data["idcaixalancamento"]); sql.Query = @"DELETE FROM caixa_lancamento_ent WHERE idnota_fiscal_terceiros = @idnota_fiscal_terceiros AND idcaixa_lancamento = @idcaixa_lancamento"; sql.clearParams(); sql.addParam("@idcaixa_lancamento", idcaixalancamento); sql.addParam("@idnota_fiscal_terceiros", nota.NotaFiscalTerceirosID); sql.deleteQuery(); sql.Query = @"INSERT INTO caixa_lancamento_ent (idcaixa_lancamento, idnota_fiscal_terceiros) VALUES (@idcaixa_lancamento, @idnota_fiscal_terceiros)"; sql.clearParams(); sql.addParam("@idcaixa_lancamento", idcaixalancamento); sql.addParam("@idnota_fiscal_terceiros", nota.NotaFiscalTerceirosID); sql.insertQuery(); } sql.Commit(); } return(retorno); }
public void LimpaRegistrosEstoque(NotaFiscalTerceiros nota) { using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) { sql.Query = @"DELETE FROM registro_estoque WHERE documento = @documento AND idpessoa = @idpessoa AND tipomovimentacao = 'E'"; sql.addParam("@documento", nota.NotaFiscalTerceirosID.ToString()); sql.addParam("@idpessoa", nota.Pessoa?.PessoaID ?? null); sql.deleteQuery(); } }
private void Selecionar() { if (dgvDocumentos.SelectedRows.Count <= 0) { return; } var selectedRowIndex = dgvDocumentos.SelectedCells[0].RowIndex; var selectedRow = dgvDocumentos.Rows[selectedRowIndex]; notaFiscalTerceirosSelecionada = notaFiscalTerceirosDAO.BuscaByID(Convert.ToInt32(selectedRow.Cells[0].Value)); this.Close(); }
private NotaFiscalTerceiros LeDadosReader(List <Dictionary <string, object> > data) { if (data.Count == 0) { return(null); } var notaFiscalItens = new List <NotaFiscalTerceirosItem>(); var notaFiscalTerceiros = new NotaFiscalTerceiros(); notaFiscalTerceiros.NotaFiscalTerceirosID = Convert.ToInt32(data[0]["idnota_fiscal_terceiros"]); notaFiscalTerceiros.Descricao = (string)data[0]["descricao"]; notaFiscalTerceiros.DataEmissao = (DateTime)data[0]["data_emissao"]; notaFiscalTerceiros.DataEntradaSaida = (DateTime)data[0]["data_entradasaida"]; notaFiscalTerceiros.ValorTotalItens = (decimal)data[0]["valor_total_itens"]; notaFiscalTerceiros.ValorTotalDocumento = (decimal)data[0]["valor_documento"]; notaFiscalTerceiros.DescontoTotalItens = (decimal)data[0]["desconto_total_itens"]; notaFiscalTerceiros.DescontoDocumento = (decimal)data[0]["desconto_documento"]; var pessoa = new Pessoa(); pessoa.PessoaID = Convert.ToInt32(data[0]["idpessoa"]); notaFiscalTerceiros.Pessoa = pessoa; foreach (var d in data) { var i = new Item(); i.ItemID = Convert.ToInt32(d["iditem"]); i.Descricao = (string)d["descitem"]; i.DescCompra = (string)d["denominacaocompra"]; i.TipoItem = (string)d["tipo"]; i.Referencia = (string)d["referencia"]; i.ValorEntrada = (decimal)d["valorentrada"]; i.ValorUnitario = (decimal)d["valorsaida"]; i.Estoquenecessario = (decimal)d["estoquenecessario"]; i.CodigoInterno = (string)d["codigointerno"]; i.Quantidade = (decimal)d["estoque"]; var nfi = new NotaFiscalTerceirosItem(); nfi.Quantidade = (decimal)d["quantidadenfti"]; nfi.ValorUnitario = (decimal)d["valor_unitario"]; nfi.ValorTotal = (decimal)d["valor_total"]; nfi.DescontoPorc = (decimal)d["desconto_porc"]; nfi.Desconto = (decimal)d["desconto"]; nfi.Item = i; notaFiscalItens.Add(nfi); } notaFiscalTerceiros.NotaFiscalTerceirosItem = notaFiscalItens; return(notaFiscalTerceiros); }
private void Novo() { if (editando) { return; } ignoracheckevent = true; Limpa(false); tbCodigo.Text = notaFiscalTerceirosDAO.BuscaProxCodigoDisponivel().ToString(); notaFiscalTerceiros = null; buscaPessoa.Focus(); ignoracheckevent = false; Editando(true); }
public void LimpaRegistrosCaixa(NotaFiscalTerceiros nota) { using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) { sql.addParam("@documento", nota.NotaFiscalTerceirosID.ToString()); sql.Query = @"DELETE FROM caixa_lancamento_ent WHERE idnota_fiscal_terceiros = @documento"; sql.deleteQuery(); sql.Query = @"DELETE FROM caixa_lancamento WHERE documento = @documento"; sql.deleteQuery(); } }
private void Busca() { if (editando) { return; } var buscaNotaFiscalTerceiros = new fmEntBuscaNotaFiscalTerceiros(); buscaNotaFiscalTerceiros.ShowDialog(); if (buscaNotaFiscalTerceiros.notaFiscalTerceirosSelecionada != null) { notaFiscalTerceiros = buscaNotaFiscalTerceiros.notaFiscalTerceirosSelecionada; notaFiscalTerceiros.Pessoa = pessoaDAO.BuscaByID(notaFiscalTerceiros.Pessoa.PessoaID); PreencheCampos(notaFiscalTerceiros); } }
private void PreencheCampos(NotaFiscalTerceiros notafiscal) { ignoracheckevent = true; Limpa(false); tbCodigo.Text = notafiscal.NotaFiscalTerceirosID.ToString(); tbDescricao.Text = notafiscal.Descricao; buscaPessoa.PreencheCampos(notafiscal.Pessoa); dtpEmissao.Value = notafiscal.DataEmissao; dtpEntrada.Value = notafiscal.DataEntradaSaida; dbValorTotalItens.Valor = notafiscal.ValorTotalItens; dbDescontoTotalItens.Valor = notafiscal.DescontoTotalItens; dbDescontoDocumento.Valor = notafiscal.DescontoDocumento; dbValorTotalDocumento.Valor = notafiscal.ValorTotalDocumento; itens = notafiscal.NotaFiscalTerceirosItem.ToList(); PreencheGridItens(itens); PreencheCaixaEPlano(notafiscal); btInserirItem.Text = "Inserir"; notaFiscalTerceiros = notafiscal; ignoracheckevent = false; }
public NotaFiscalTerceiros BuscaByID(int Codigo) { var notaFiscalTerceiros = new NotaFiscalTerceiros(); using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) { sql.Query = @"SELECT *, nftitem.quantidade AS quantidadenfti, i.quantidade AS estoque FROM nota_fiscal_terceiros nft LEFT JOIN nota_fiscal_terceiros_has_item nftitem ON nft.idnota_fiscal_terceiros = nftitem.idnota_fiscal_terceiros INNER JOIN item i ON i.iditem = nftitem.iditem WHERE nft.idnota_fiscal_terceiros = @idnota_fiscal_terceiros"; sql.addParam("@idnota_fiscal_terceiros", Codigo); var data = sql.selectQuery(); if (data == null) { return(null); } notaFiscalTerceiros = LeDadosReader(data); } return(notaFiscalTerceiros); }
private CaixaLancamento LeDadosReaderComPlanos(Dictionary <string, object> data) { var planoConta = new PlanoConta(); planoConta.PlanoContaID = Convert.ToInt32(data["idcaixa_plano_contas"]); planoConta.Codigo = Convert.ToInt32(data["cpc_codigo"]); planoConta.Level = Convert.ToInt32(data["level"]); planoConta.PaiID = Convert.ToInt32(data["paiid"]); planoConta.Descricao = (string)data["descricao"]; planoConta.CodigoCompleto = (string)data["codigo_completo"]; var caixa = new Caixa(); caixa.CaixaID = Convert.ToInt32(data["idcaixa"]); caixa.Codigo = Convert.ToInt32(data["caixa_codigo"]); caixa.Nome = (string)data["nome"]; var parcelaCAR = new ParcelaContaReceber(); var parcelaCAP = new ParcelaContaPagar(); var notafiscalpropria = new NotaFiscalPropria(); var notafiscalterceiros = new NotaFiscalTerceiros(); var caixaLancamento = new CaixaLancamento(); caixaLancamento.PlanoConta = planoConta; caixaLancamento.Caixa = caixa; caixaLancamento.CaixaLancamentoID = Convert.ToInt32(data["idcaixa_lancamento"]); caixaLancamento.Data = (DateTime)data["data"]; caixaLancamento.Valor = (decimal)data["valor"]; caixaLancamento.TipoMovimento = Convert.ToInt32(data["tipomovimento"]); caixaLancamento.TipoDocumento = Convert.ToInt32(data["tipodocumento"]); caixaLancamento.Lancamento = Convert.ToInt32(data["lancamento"]); caixaLancamento.Documento = (string)data["documento"]; return(caixaLancamento); }
public int MovimentaEstoque(NotaFiscalTerceiros nota) { int retorno = 0; using (MySQLConn sql = new MySQLConn(Configuracao.Conecta)) { sql.beginTransaction(); foreach (var i in nota.NotaFiscalTerceirosItem) { sql.Query = @"INSERT INTO registro_estoque (tipomovimentacao, data, documento, iditem, quantidade, idpessoa) VALUES (@tipomovimentacao, @data, @documento, @iditem, @quantidade, @idpessoa)"; sql.clearParams(); sql.addParam("@tipomovimentacao", "E"); sql.addParam("@data", nota.DataEntradaSaida); sql.addParam("@documento", nota.NotaFiscalTerceirosID.ToString()); sql.addParam("@iditem", i.Item.ItemID); sql.addParam("@quantidade", i.Quantidade); sql.addParam("@idpessoa", nota.Pessoa?.PessoaID ?? null); retorno = sql.insertQuery(); sql.clearParams(); sql.Query = @"UPDATE item SET quantidade = (SELECT COALESCE(SUM(quantidade), 0) FROM registro_estoque WHERE iditem = @iditem AND tipomovimentacao = 'E') - (SELECT COALESCE(SUM(quantidade), 0) FROM registro_estoque WHERE iditem = @iditem AND tipomovimentacao = 'S') WHERE iditem = @iditem"; sql.addParam("@quantidade_atualizada", i.Item.Quantidade - i.Quantidade); sql.addParam("@iditem", i.Item.ItemID); sql.updateQuery(); } sql.Commit(); } return(retorno); }
private void Limpa(bool limpaCod) { if (limpaCod) { tbCodigo.Clear(); } buscaPessoa.Limpa(); buscaCaixa.Limpa(); buscaPlanoDeConta.Limpa(); tbDescricao.Clear(); dtpEmissao.Value = DateTime.Now; dtpEntrada.Value = DateTime.Now; dbValorTotalItens.Valor = 0.00m; dbDescontoTotalItens.Valor = 0.00m; dbDescontoDocumento.Valor = 0.00m; dbValorTotalDocumento.Valor = 0.00m; tbAjuda.Clear(); dgvItens.Rows.Clear(); dgvItens.Refresh(); LimpaCamposItem(limpaCod); notaFiscalTerceiros = null; codigo = 0; itens.Clear(); }
private void PreencheCaixaEPlano(NotaFiscalTerceiros notafiscal) { caixalancamento = caixalancamentoDAO.BuscaByDocumento(notafiscal.NotaFiscalTerceirosID.ToString()); buscaCaixa.PreencheCampos(caixalancamento?.Caixa); buscaPlanoDeConta.PreencheCampos(caixalancamento?.PlanoConta); }
private void Salva() { var controls = (ControlCollection)this.Controls; if (!editando) { return; } var ok = false; if (tbCodigo.Text.Length <= 0) { if (MessageBox.Show("Número da nota em branco, deseja gerar um numero automaticamente?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { tbCodigo.Text = notaFiscalTerceirosDAO.BuscaProxCodigoDisponivel().ToString(); } ok = false; } else { if (itens.Count <= 0) { MessageBox.Show("Uma nota não pode ser salva sem itens!", "Problema ao salvar", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } notaFiscalTerceirosNova = new NotaFiscalTerceiros(); notaFiscalTerceirosNova.NotaFiscalTerceirosID = int.Parse(tbCodigo.Text); notaFiscalTerceirosNova.Descricao = tbDescricao.Text; notaFiscalTerceirosNova.Pessoa = buscaPessoa.pessoa; notaFiscalTerceirosNova.DataEmissao = dtpEmissao.Value; notaFiscalTerceirosNova.DataEntradaSaida = dtpEntrada.Value; notaFiscalTerceirosNova.ValorTotalItens = dbValorTotalItens.Valor; notaFiscalTerceirosNova.DescontoTotalItens = dbDescontoTotalItens.Valor; notaFiscalTerceirosNova.DescontoDocumento = dbDescontoDocumento.Valor; notaFiscalTerceirosNova.ValorTotalDocumento = dbValorTotalDocumento.Valor; notaFiscalTerceirosNova.Caixa = buscaCaixa.caixa; notaFiscalTerceirosNova.PlanoDeConta = buscaPlanoDeConta.conta; notaFiscalTerceirosNova.NotaFiscalTerceirosItem = itens; ok = validacao.ValidarEntidade(notaFiscalTerceirosNova, controls); } if (ok) { validacao.despintarCampos(controls); int resultado = notaFiscalTerceirosDAO.SalvarOuAtualizar(notaFiscalTerceirosNova); // resultado 0 = nada foi inserido (houve algum erro) // resultado 1 = foi inserido com sucesso // resultado 2 = foi atualizado com sucesso if (resultado == 0) { MessageBox.Show("Problema ao salvar o registro", "Problema ao salvar", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else if (resultado == 1) { tbAjuda.Text = "Dados salvos com sucesso"; notaFiscalTerceirosDAO.MovimentaEstoque(notaFiscalTerceirosNova); notaFiscalTerceirosDAO.MovimentaCaixa(notaFiscalTerceirosNova); Editando(false); } else if (resultado == 2) { tbAjuda.Text = "Dados atualizados com sucesso"; notaFiscalTerceirosDAO.LimpaRegistrosEstoque(notaFiscalTerceiros); notaFiscalTerceirosDAO.MovimentaEstoque(notaFiscalTerceirosNova); notaFiscalTerceirosDAO.LimpaRegistrosCaixa(notaFiscalTerceirosNova); notaFiscalTerceirosDAO.MovimentaCaixa(notaFiscalTerceirosNova); Editando(false); } notaFiscalTerceiros = notaFiscalTerceirosNova; } }