Exemple #1
0
        public PapelPorClienteInfo ConsultarPapeisPorCliente(PapelPorClienteInfo pParametros)
        {
            PapelPorClienteInfo lRetorno = new PapelPorClienteInfo();

            ConexaoDbHelper lAcessaDados = new ConexaoDbHelper();

            lAcessaDados.ConnectionStringName = gNomeConexaoSinacor;

            List <int> lAssessoresVinculados = new List <int>();

            DataTable lDataTable = new DataTable();

            using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_PAPEL_CLIENTE_REL"))
            {
                lAcessaDados.AddInParameter(lDbCommand, "pDataDe", DbType.DateTime, pParametros.DataInicial);
                lAcessaDados.AddInParameter(lDbCommand, "pDataAte", DbType.DateTime, pParametros.DataFinal);

                if (pParametros.CodigoCliente.HasValue)
                {
                    lAcessaDados.AddInParameter(lDbCommand, "pClienteCodigo", DbType.Int32, pParametros.CodigoCliente.Value);

                    lDataTable = lAcessaDados.ExecuteOracleDataTable(lDbCommand);
                }

                if (pParametros.CodigoAssessor.HasValue)
                {
                    lAssessoresVinculados = ReceberListaAssessoresVinculados(pParametros.CodigoAssessor.Value, pParametros.IdUsuarioLogado);
                }

                if (null != lDataTable && lDataTable.Rows.Count > 0)
                {
                    for (int i = 0; i <= lDataTable.Rows.Count - 1; i++)
                    {
                        DataRow linha = lDataTable.Rows[i];

                        if (pParametros.CodigoAssessor.HasValue)
                        {
                            if (lAssessoresVinculados.Contains(linha["cd_assessor"].DBToInt32()))
                            {
                                lRetorno.Resultado.Add(CriarRegistroPapelPorCliente(linha));
                            }
                            else
                            {
                                continue;
                            }
                        }
                        else
                        {
                            lRetorno.Resultado.Add(CriarRegistroPapelPorCliente(linha));
                        }
                    }
                }
            }

            return(lRetorno);
        }
Exemple #2
0
 public TransporteRelatorio_022(PapelPorClienteInfo info)
 {
     this.CodigoCliente  = info.CodigoCliente.ToString();
     this.DataPregao     = info.DataPregao.ToString("dd/MM/yyyy");
     this.Papel          = info.Papel.ToString();
     this.QtdeCompras    = info.QtdeCompras.ToString("N2");
     this.QtdeVendas     = info.QtdeVendas.ToString("N2");
     this.QtdeLiquida    = info.QtdeLiquida.ToString("N2");
     this.Preco          = info.Preco.ToString("N6");
     this.VolCompras     = info.VolCompras.ToString("N2");
     this.VolVendas      = info.VolVendas.ToString("N2");
     this.VolLiquido     = info.VolLiquido.ToString("N2");
     this.CodigoAssessor = info.CodigoAssessor.ToString();
     this.VlNegocio      = info.VlNegocio.ToString("N2");
     this.MostraTotal    = "sim";
 }
Exemple #3
0
        public List <TransporteRelatorio_022> TraduzirLista(List <PapelPorClienteInfo> pParametros, string pPapel = "")
        {
            var lRetorno = new List <TransporteRelatorio_022>();

            TransporteRelatorio_022 lPapelCliente = null;

            List <PapelPorClienteInfo> lLista = IncluiTotal(pParametros);

            for (int i = 0; i < lLista.Count; i++)
            {
                PapelPorClienteInfo papel = lLista[i];

                if (pPapel != string.Empty)
                {
                    if (papel.Papel.IndexOf(pPapel) == -1)
                    {
                        continue;
                    }
                }

                lPapelCliente = new TransporteRelatorio_022();

                lPapelCliente.CodigoCliente  = papel.CodigoCliente.ToString();
                lPapelCliente.CodigoAssessor = papel.CodigoAssessor.ToString();
                lPapelCliente.DataPregao     = papel.DataPregao.ToString("dd/MM/yyyy");
                lPapelCliente.Papel          = papel.Papel.ToString();
                lPapelCliente.QtdeCompras    = papel.QtdeCompras.ToString("N0");
                lPapelCliente.QtdeVendas     = papel.QtdeVendas.ToString("N0");
                lPapelCliente.QtdeLiquida    = papel.QtdeLiquida.ToString("N0");
                lPapelCliente.Preco          = papel.Preco.ToString("N6");
                lPapelCliente.VolCompras     = papel.VolCompras.ToString("N2");
                lPapelCliente.VolVendas      = papel.VolVendas.ToString("N2");
                lPapelCliente.VolLiquido     = papel.VolLiquido.ToString("N2");
                lPapelCliente.VlNegocio      = papel.VlNegocio.ToString("N2");
                lPapelCliente.MostraTotal    = papel.MostraTotal;

                lPapelCliente.TotalQtdeCompras = papel.TotalQtdeCompras.ToString("N0");
                lPapelCliente.TotalQtdeVendas  = papel.TotalQtdeVendas.ToString("N0");
                lPapelCliente.TotalVolCompras  = papel.TotalVolCompras.ToString("N2");
                lPapelCliente.TotalVolVendas   = papel.TotalVolVendas.ToString("N2");
                lPapelCliente.Ordem            = papel.Ordem.ToString();

                lRetorno.Add(lPapelCliente);
            }

            return(lRetorno);
        }
Exemple #4
0
        private PapelPorClienteInfo CriarRegistroPapelPorCliente(DataRow linha)
        {
            PapelPorClienteInfo lRetorno = new PapelPorClienteInfo();

            lRetorno.CodigoAssessor = linha["cd_assessor"].DBToInt32();
            lRetorno.CodigoCliente  = linha["cd_cliente"].DBToInt32();
            lRetorno.DataPregao     = linha["dt_pregao"].DBToDateTime();
            lRetorno.Papel          = linha["Papel"].DBToString();
            lRetorno.QtdeCompras    = linha["QtdeCompras"].DBToInt32();
            lRetorno.QtdeVendas     = linha["QtdeVendas"].DBToInt32();
            lRetorno.QtdeLiquida    = linha["QtdeLiquida"].DBToInt32();
            lRetorno.Preco          = linha["PrecoMedio"].DBToDecimal();
            lRetorno.VolCompras     = linha["VolCompras"].DBToDecimal();
            lRetorno.VolVendas      = linha["VolVendas"].DBToDecimal();
            lRetorno.VolLiquido     = linha["VolLiquido"].DBToDecimal();
            lRetorno.VlNegocio      = linha["vl_negocio"].DBToDecimal();
            lRetorno.MostraTotal    = "nao";
            lRetorno.Ordem          = 0;

            return(lRetorno);
        }
Exemple #5
0
        public List <PapelPorClienteInfo> IncluiTotal(List <PapelPorClienteInfo> pParametros)
        {
            var lRetornoTemp = new List <PapelPorClienteInfo>();

            var lInsere = pParametros;

            var lLista = from a in pParametros
                         group a by new
            {
                a.Papel,
                a.CodigoCliente
            } into g
                select new PapelPorClienteInfo()
            {
                Papel         = g.Key.Papel,
                CodigoCliente = g.Key.CodigoCliente,
                Resultado     = g.ToList()
            };

            int     TotalQtdeCompras = 0;
            int     TotalQtdeVendas  = 0;
            decimal TotalVolVendas   = 0.0M;
            decimal TotalVolCompras  = 0.0M;

            foreach (var a in lLista)
            {
                PapelPorClienteInfo lLinhaTotal = new PapelPorClienteInfo();
                lLinhaTotal.CodigoCliente = a.Resultado[0].CodigoCliente;
                lLinhaTotal.Papel         = a.Resultado[0].Papel;
                lLinhaTotal.DataPregao    = a.Resultado[0].DataPregao.AddHours(1.0);
                lLinhaTotal.VolLiquido    = a.Resultado[0].VolLiquido;
                lLinhaTotal.QtdeLiquida   = a.Resultado[0].QtdeLiquida;
                lLinhaTotal.Preco         = a.Resultado[0].Preco;
                lLinhaTotal.Ordem         = 1;

                TotalQtdeCompras = 0;
                TotalQtdeVendas  = 0;
                TotalVolVendas   = 0.0M;
                TotalVolCompras  = 0.0M;


                foreach (PapelPorClienteInfo b in a.Resultado)
                {
                    TotalQtdeCompras += b.QtdeCompras;
                    TotalQtdeVendas  += b.QtdeVendas;

                    TotalVolVendas  += b.VolVendas;
                    TotalVolCompras += b.VolCompras;
                }

                lLinhaTotal.TotalVolCompras = TotalVolCompras;
                lLinhaTotal.TotalVolVendas  = TotalVolVendas;

                lLinhaTotal.TotalQtdeCompras = TotalQtdeCompras;
                lLinhaTotal.TotalQtdeVendas  = TotalQtdeVendas;

                lLinhaTotal.MostraTotal = "sim";

                lInsere.Add(lLinhaTotal);
            }

            lRetornoTemp.AddRange(lInsere);

            var lRetorno = (from a in lRetornoTemp orderby a.CodigoCliente, a.Papel, a.Ordem ascending select a).ToList();

            return(lRetorno);
        }
Exemple #6
0
        private void ResponderBuscarItensParaListagemSimples()
        {
            var lRequest = new PapelPorClienteInfo()
            {
                IdUsuarioLogado = base.UsuarioLogado.Id,
                DataInicial     = this.GetDataInicial,
                DataFinal       = this.GetDataFinal,
                CodigoAssessor  = this.GetAssessor,
                CodigoCliente   = this.GetCdCliente,
            };

            try
            {
                PapelPorClienteDbLib lServico = new PapelPorClienteDbLib();

                var lResponse = lServico.ConsultarPapeisPorCliente(lRequest);

                if (lResponse.Resultado != null && lResponse.Resultado.Count > 0)
                {
                    //List<PapelPorClienteInfo> lListaTemp = lResponse.Resultado;//.OrderBy(lp => lp.CodigoAssessor).ToList();

                    //List<PapelPorClienteInfo> lListaBusca = new List<PapelPorClienteInfo>();

                    //lListaTemp.ForEach(result =>
                    //{
                    //    PapelPorClienteInfo lCad = new PapelPorClienteInfo();

                    //    lCad = result;

                    //    PapelPorClienteInfo lCadBusca = lListaBusca.Find(busca => busca.CodigoAssessor == lCad.CodigoAssessor);

                    //    if (lCadBusca != null)
                    //    {
                    //        lListaBusca.Remove(lCadBusca);
                    //        lListaBusca.Add(lCadBusca);
                    //    }
                    //    else
                    //    {
                    //        lListaBusca.Add(lCad);
                    //    }
                    //});

                    string lPapel = GetPapel;

                    List <TransporteRelatorio_022> lListaTemp = new TransporteRelatorio_022().TraduzirLista(lResponse.Resultado, lPapel.ToUpper());

                    this.rptRelatorio.DataSource = lListaTemp;

                    this.rptRelatorio.DataBind();

                    rowLinhaDeNenhumItem.Visible = false;
                }
                else
                {
                    rowLinhaDeNenhumItem.Visible = true;
                }
            }
            catch (Exception exBusca)
            {
                throw exBusca;
            }
        }