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); } }
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); }