private void EditCodigoProduto_Leave(object sender, EventArgs e) { try { if (EditCodigoProduto.Text.Trim() != "") { ProdutoVO Produto = ProdutoController.ConsultaId(Convert.ToInt32(EditCodigoProduto.Text.Trim())); if (Produto != null) { editUnitario.Text = Produto.ValorVenda.ToString(); editTotalItem.Text = (Produto.ValorVenda * Convert.ToDecimal(editQuantidade.Text)).ToString("0.00"); DavDetalheVO DavDetalhe = new DavDetalheVO(); DavDetalhe.IdProduto = Produto.Id; DavDetalhe.DataEmissao = DateTime.Now; DavDetalhe.Item = Item++; DavDetalhe.Quantidade = Convert.ToDecimal(editQuantidade.Text); DavDetalhe.ValorUnitario = Convert.ToDecimal(editUnitario.Text); DavDetalhe.ValorTotal = Convert.ToDecimal(editTotalItem.Text); DavDetalhe.GtinProduto = Produto.GTIN; DavDetalhe.NomeProduto = Produto.Nome; DavDetalhe.UnidadeProduto = Produto.UnidadeProduto; DavDetalhe.TotalizadorParcial = Produto.TotalizadorParcial; ListaDavDetalhe.Add(DavDetalhe); GridItens.DataSource = typeof(List <DavDetalheVO>); GridItens.DataSource = ListaDavDetalhe; GridItens.Refresh(); TotalGeral = TotalGeral + DavDetalhe.ValorTotal; labelSubtotal.Text = TotalGeral.ToString("0.00"); labelTotal.Text = TotalGeral.ToString("0.00"); EditCodigoProduto.Text = ""; EditCodigoProduto.Focus(); } else { MessageBox.Show("Código não cadastrado.", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch (Exception eError) { Log.write(eError.ToString()); } }
public List <DavDetalheVO> TabelaDavDetalhe(string pIdCabecalho) { List <DavDetalheVO> ListaDavDetalhe = new List <DavDetalheVO>(); ConsultaSQL = " SELECT * FROM DAV_DETALHE WHERE ID_DAV_CABECALHO = " + pIdCabecalho; try { comando = new MySqlCommand(ConsultaSQL, conexao); leitor = comando.ExecuteReader(); while (leitor.Read()) { DavDetalheVO DavDetalhe = new DavDetalheVO(); DavDetalhe.Id = Convert.ToInt32(leitor["ID"]); DavDetalhe.NomeProduto = leitor["NOME_PRODUTO"].ToString(); DavDetalhe.Quantidade = Convert.ToDecimal(leitor["QUANTIDADE"]); DavDetalhe.ValorUnitario = Convert.ToDecimal(leitor["VALOR_UNITARIO"]); DavDetalhe.ValorTotal = Convert.ToDecimal(leitor["VALOR_TOTAL"]); ListaDavDetalhe.Add(DavDetalhe); } return(ListaDavDetalhe); } catch (Exception eError) { Log.write(eError.ToString()); return(null); } finally { if (leitor != null) { leitor.Close(); } } }
public List <DavDetalheVO> ListaDavDetalhe(int pId) { // verifica se existem itens para o ID passado ConsultaSQL = "select count(*) AS TOTAL from DAV_DETALHE where ID_DAV_CABECALHO = " + Convert.ToString(pId); try { comando = new MySqlCommand(ConsultaSQL, conexao); leitor = comando.ExecuteReader(); leitor.Read(); int TotalRegistros = Convert.ToInt32(leitor["TOTAL"]); leitor.Close(); if (TotalRegistros > 0) { List <DavDetalheVO> ListaDavDetalhe = new List <DavDetalheVO>(); ConsultaSQL = "select * " + " from DAV_DETALHE " + " where ID_DAV_CABECALHO = " + Convert.ToString(pId); comando = new MySqlCommand(ConsultaSQL, conexao); leitor = comando.ExecuteReader(); while (leitor.Read()) { DavDetalheVO DavDetalhe = new DavDetalheVO(); DavDetalhe.Id = Convert.ToInt32(leitor["ID"]); DavDetalhe.IdDavCabecalho = Convert.ToInt32(leitor["ID_DAV_CABECALHO"]); DavDetalhe.IdProduto = Convert.ToInt32(leitor["ID_PRODUTO"]); DavDetalhe.GtinProduto = Convert.ToString(leitor["GTIN_PRODUTO"]); DavDetalhe.NomeProduto = Convert.ToString(leitor["NOME_PRODUTO"]); DavDetalhe.UnidadeProduto = Convert.ToString(leitor["UNIDADE_PRODUTO"]); DavDetalhe.IdProduto = Convert.ToInt32(leitor["ID_PRODUTO"]); DavDetalhe.IdProduto = Convert.ToInt32(leitor["ID_PRODUTO"]); DavDetalhe.Item = Convert.ToInt32(leitor["ITEM"]); DavDetalhe.Quantidade = Convert.ToDecimal(leitor["QUANTIDADE"]); DavDetalhe.ValorUnitario = Convert.ToDecimal(leitor["VALOR_UNITARIO"]); DavDetalhe.ValorTotal = Convert.ToDecimal(leitor["VALOR_TOTAL"]); DavDetalhe.Cancelado = Convert.ToString(leitor["CANCELADO"]); DavDetalhe.MesclaProduto = Convert.ToString(leitor["MESCLA_PRODUTO"]); DavDetalhe.TotalizadorParcial = Convert.ToString(leitor["TOTALIZADOR_PARCIAL"]); DavDetalhe.HashTripa = Convert.ToString(leitor["HASH_TRIPA"]); DavDetalhe.HashIncremento = Convert.ToInt32(leitor["HASH_INCREMENTO"]); ListaDavDetalhe.Add(DavDetalhe); } return(ListaDavDetalhe); } // caso não exista a relacao, retorna um ponteiro nulo else { return(null); } } catch (Exception eError) { Log.write(eError.ToString()); return(null); } finally { if (leitor != null) { leitor.Close(); } } }
public List <DavDetalheVO> CarregaDAV(int?pId) { // verifica se existe o DAV solicitado ConsultaSQL = "select count(*) as TOTAL from DAV_CABECALHO " + "where SITUACAO <> " + Biblioteca.QuotedStr("E") + " and SITUACAO <> " + Biblioteca.QuotedStr("M") + " and ID=" + Convert.ToString(pId); try { comando = new MySqlCommand(ConsultaSQL, conexao); leitor = comando.ExecuteReader(); leitor.Read(); // caso exista o DAV, procede com a importacao do mesmo if (leitor.HasRows) { leitor.Close(); // verifica se existem itens para o DAV ConsultaSQL = "select count(*) as TOTAL from DAV_DETALHE where ID_DAV_CABECALHO=" + Convert.ToString(pId); comando = new MySqlCommand(ConsultaSQL, conexao); leitor = comando.ExecuteReader(); leitor.Read(); // caso existam itens no detalhe if (leitor.HasRows) { leitor.Close(); List <DavDetalheVO> ListaDAV = new List <DavDetalheVO>(); ConsultaSQL = "select * from DAV_DETALHE where ID_DAV_CABECALHO=" + Convert.ToString(pId); comando = new MySqlCommand(ConsultaSQL, conexao); leitor = comando.ExecuteReader(); while (leitor.Read()) { DavDetalheVO DAVDetalhe = new DavDetalheVO(); DAVDetalhe.Id = Convert.ToInt32(leitor["ID"]); DAVDetalhe.IdDavCabecalho = pId.Value; DAVDetalhe.IdProduto = Convert.ToInt32(leitor["ID_PRODUTO"]); DAVDetalhe.Item = Convert.ToInt32(leitor["ITEM"]); DAVDetalhe.Quantidade = Convert.ToInt32(leitor["QUANTIDADE"]); DAVDetalhe.ValorUnitario = Convert.ToDecimal(leitor["VALOR_UNITARIO"]); DAVDetalhe.ValorTotal = Convert.ToDecimal(leitor["VALOR_TOTAL"]); DAVDetalhe.Cancelado = Convert.ToString(leitor["CANCELADO"]); DAVDetalhe.MesclaProduto = Convert.ToString(leitor["MESCLA_PRODUTO"]); DAVDetalhe.GtinProduto = Convert.ToString(leitor["GTIN_PRODUTO"]); DAVDetalhe.NomeProduto = Convert.ToString(leitor["NOME_PRODUTO"]); DAVDetalhe.UnidadeProduto = Convert.ToString(leitor["UNIDADE_PRODUTO"]); DAVDetalhe.TotalizadorParcial = Convert.ToString(leitor["TOTALIZADOR_PARCIAL"]); ListaDAV.Add(DAVDetalhe); } return(ListaDAV); } else { return(null); } } // caso não exista o DAV, retorna um ponteiro nulo else { return(null); } } catch (Exception eError) { Log.write(eError.ToString()); return(null); } finally { if (leitor != null) { leitor.Close(); } } }
private void Confirma() { decimal ValorNovoDav = 0; if (MessageBox.Show("Tem certeza que deseja mesclar os DAV selecionados?", "Mesclar DAV", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { if (EditDestinatario.Text.Trim() == "") { MessageBox.Show("Preencha o Nome do Destinatario!", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information); EditDestinatario.Focus(); return; } if ((!Biblioteca.ValidaCPF(editCpfCnpj.Text)) && (!Biblioteca.ValidaCNPJ(editCpfCnpj.Text))) { MessageBox.Show("Documento Invalido! Favor Corrigir", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information); editCpfCnpj.Focus(); return; } FCaixa.LabelMensagens.Text = "Aguarde. Mesclando DAV!"; List <DavCabecalhoVO> ListaDAVCabecalhoMescla = new List <DavCabecalhoVO>(); List <DavDetalheVO> ListaDAVDetalheMescla = new List <DavDetalheVO>(); DavCabecalhoVO DAVCabecalho; DavDetalheVO DAVDetalhe; for (int i = 0; i <= GridMestre.Rows.Count - 1; i++) { if (ListaDavCabecalho[i].Situacao == "X") { DAVCabecalho = new DavCabecalhoVO(); DAVCabecalho.Id = ListaDavCabecalho[i].Id; DAVCabecalho.NomeDestinatario = EditDestinatario.Text; DAVCabecalho.CpfCnpjDestinatario = editCpfCnpj.Text; DAVCabecalho.Valor = ListaDavCabecalho[i].Valor; ListaDAVCabecalhoMescla.Add(DAVCabecalho); for (int j = 0; j <= GridDetalhe.Rows.Count - 1; j++) { //TODO: Observe que não temos todos esses itens na lista. Implemente isso no Controller ao carregar a tabela de detalhe. DAVDetalhe = new DavDetalheVO(); DAVDetalhe.IdDavCabecalho = DAVCabecalho.Id; DAVDetalhe.Id = ListaDavDetalhe[j].Id; DAVDetalhe.IdProduto = ListaDavDetalhe[j].IdProduto; DAVDetalhe.GtinProduto = ListaDavDetalhe[j].GtinProduto; DAVDetalhe.NomeProduto = ListaDavDetalhe[j].NomeProduto; DAVDetalhe.TotalizadorParcial = ListaDavDetalhe[j].TotalizadorParcial; DAVDetalhe.UnidadeProduto = ListaDavDetalhe[j].UnidadeProduto; DAVDetalhe.Cancelado = ListaDavDetalhe[j].Cancelado; DAVDetalhe.Quantidade = ListaDavDetalhe[j].Quantidade; DAVDetalhe.ValorUnitario = ListaDavDetalhe[j].ValorUnitario; DAVDetalhe.ValorTotal = ListaDavDetalhe[j].ValorTotal; if (DAVDetalhe.Cancelado == "N") { ValorNovoDav = Biblioteca.TruncaValor(ValorNovoDav + DAVDetalhe.ValorTotal, Constantes.DECIMAIS_VALOR); } ListaDAVDetalheMescla.Add(DAVDetalhe); } } } if (ListaDAVDetalheMescla.Count < 1) { MessageBox.Show("Nenhum item selecionado!", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { DAVController.MesclaDAV(ListaDAVCabecalhoMescla, ListaDAVDetalheMescla, ValorNovoDav); FCaixa.LabelMensagens.Text = "Venda em andamento."; this.Close(); } } }