Ejemplo n.º 1
0
        List <Det> getItens(FiltroRelatorio filtr)
        {
            if (filtr != null)
            {
                var conn = new NpgsqlConnection(ConfigurationManager.AppSettings["ConexaoFch"]);


                String sql = $"select * from fechamento " +
                             $" inner join fechamentodet1220 on fech_transacao = fchd_transacao" +
                             $" left join produtos on prod_codigo = fchd_prod_codigo " +
                             $" where fech_data_fechamento = '{filtr.DateManifesto}' and fech_status = 'N' ";
                if (!String.IsNullOrEmpty(filtr.VendedorCode))
                {
                    sql += $" and fech_vend_codigo = '{filtr.VendedorCode}' ";
                }

                conn.Open();
                var cmd = new NpgsqlCommand(sql, conn);
                var dr  = cmd.ExecuteReader();


                List <Det> itens = new List <Det>();

                //Set the data grid view infos, and convert his values, if needed.
                while (dr.Read())
                {
                    var item = new Det();
                    item.fchTransacao  = dr.GetSafeValue <String>("fchd_transacao");
                    item.prodCodigo    = dr.GetSafeValue <Int64>("fchd_prod_codigo");
                    item.prodCodigoRB  = dr.GetSafeValue <Int64>("prod_codigo_rb");
                    item.fsProdNome    = dr.GetSafeValue <String>("prod_descricao");
                    item.qtdeCarga     = dr.GetSafeValue <Int64>("fchd_qtde_carga");
                    item.prQtdeVenda   = dr.GetSafeValue <Int64>("fchd_pr_qtde_venda");
                    item.prQtdeTroca   = dr.GetSafeValue <Int64>("fchd_pr_qtde_troca");
                    item.prQtdeRetorno = dr.GetSafeValue <Int64>("fchd_pr_qtde_retorno");
                    item.fsQtdeVenda   = dr.GetSafeValue <Int64>("fchd_fr_qtde_venda");
                    item.fsQtdeTroca   = dr.GetSafeValue <Int64>("fchd_fr_qtde_troca");
                    item.fsQtdeRetorno = dr.GetSafeValue <Int64>("fchd_fr_qtde_retorno");
                    item.prValorProd   = dr.GetSafeValue <Decimal>("fchd_pr_valorprod");
                    item.prValorTotal  = dr.GetSafeValue <Decimal>("fchd_pr_valortotal");
                    item.prComissao    = dr.GetSafeValue <Decimal>("fchd_pr_valorcomissao");



                    itens.Add(item);
                }
                conn.Close();
                return(itens);
            }
            else
            {
                List <Det> vazio = new List <Det>();
                return(vazio);
            }
        }
Ejemplo n.º 2
0
        public List <Det> carregarDadosPadaria(String transacaoPedido, DateTime dataFiltro)
        {
            var manifestosRb = BancoPadaria.obterTransacaoReferenciadas(transacaoPedido, CONTAS_MANIFESTO);

            //if (manifestosRb.Count == 0)
            //{
            //MessageBox.Show("Nenhum manifesto encontrado na data informada", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            //return;
            //}

            var detalhes = new List <Det>();
            //BancoPadaria.obterTransacaoReferenciadas(manifestos, CONTAS_VENDA);
            //Variável que chama a função de obtenção de produtos do PEDIDO, retornando uma lista do tipo "produtos originais"
            //com suas próprias propriedades.
            //Carregado.
            var produtosPedidoRb = BancoPadaria.getProdsFromRequests(new List <String>()
            {
                transacaoPedido
            }, CONTAS_PEDIDO);

            detalhes.AddRange(produtosPedidoRb.Select(t => new Det()
            {
                prodCodigoRB = t.prodCodRb, qtdeCarga = t.requestQtd
            }));


            //Variável que chama a função de obtenção de produtos do MANIFESTO, retornando uma lista do tipo "produtos manifesto"
            //com suas próprias propriedades, incluindo quantidade de venda, retorno e troca.

            //Vendas.
            var produtosVendidosRb = BancoPadaria.getProdsFromManifests(manifestosRb, CONTAS_VENDA.SplitSQL(';'));

            for (int j = 0; j < produtosVendidosRb.Count; j++)
            {
                var itemCarregado = detalhes.Where(t => t.prodCodigoRB == produtosPedidoRb[j].prodCodRb).FirstOrDefault();
                if (itemCarregado == null)
                {
                    itemCarregado = new Det()
                    {
                        prodCodigoRB = produtosPedidoRb[j].prodCodRb
                    };
                    detalhes.Add(itemCarregado);
                }
                itemCarregado.prQtdeVenda  = produtosPedidoRb[j].selledProd;
                itemCarregado.prValorProd  = produtosPedidoRb[j].valueProd;
                itemCarregado.prComissao   = produtosPedidoRb[j].valueComm;
                itemCarregado.prValorTotal = produtosPedidoRb[j].valueTotal;
            }

            //Trocas.
            var produtosTrocaRb = BancoPadaria.getProdsFromManifests(new List <String>()
            {
                transacaoPedido
            }, CONTAS_TROCAS.SplitSQL(';'));

            for (int j = 0; j < produtosTrocaRb.Count; j++)
            {
                var itemTroca = detalhes.Where(t => t.prodCodigoRB == produtosTrocaRb[j].prodCodRb).FirstOrDefault();
                if (itemTroca == null)
                {
                    itemTroca = new Det()
                    {
                        prodCodigoRB = produtosTrocaRb[j].prodCodRb
                    };
                    detalhes.Add(itemTroca);
                }
                itemTroca.prQtdeTroca = produtosTrocaRb[j].tradedProd;
            }

            //Retornos.
            var produtosRetornoRb = BancoPadaria.getProdsFromManifests(new List <String>()
            {
                transacaoPedido
            }, CONTAS_RETORNO.SplitSQL(';'));

            for (int k = 0; k < produtosRetornoRb.Count; k++)
            {
                var itemRetorno = detalhes.Where(t => t.prodCodigoRB == produtosRetornoRb[k].prodCodRb).FirstOrDefault();
                if (itemRetorno == null)
                {
                    itemRetorno = new Det()
                    {
                        prodCodigoRB = produtosRetornoRb[k].prodCodRb,
                    };
                    detalhes.Add(itemRetorno);
                }
                itemRetorno.prQtdeRetorno = produtosRetornoRb[k].returnProd;
            }

            return(detalhes);
        }