Пример #1
0
        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());
            }
        }
Пример #2
0
        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();
                }
            }
        }
Пример #3
0
        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();
                }
            }
        }
Пример #4
0
        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();
                }
            }
        }
Пример #5
0
        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();
                }
            }
        }