private string ResponderBuscarItensParaListagemSimples()
        {
            EstatisticaDayTradeRequest lRequest = new EstatisticaDayTradeRequest();

            IServicoMonitorCompliance lServico = Ativador.Get <IServicoMonitorCompliance>();

            TransporteDeListaPaginada lRetornoLista = new TransporteDeListaPaginada();

            string lRetorno = string.Empty;

            if (this.GetCdAssessor != null)
            {
                lRequest.Assessor = this.GetCdAssessor.Value;
            }

            if (this.GetCdCliente != null)
            {
                lRequest.CodigoCliente = this.GetCdCliente.Value;
            }

            if (!string.IsNullOrEmpty(this.GetTipoBolsa))
            {
                if (this.GetTipoBolsa.Equals("BMF"))
                {
                    lRequest.TipoBolsa = EnumBolsaDayTrade.BMF;
                }
                else if (this.GetTipoBolsa.Equals("BOVESPA"))
                {
                    lRequest.TipoBolsa = EnumBolsaDayTrade.BOVESPA;
                }
            }
            else
            {
                lRequest.TipoBolsa = EnumBolsaDayTrade.TODOS;
            }

            EstatisticaDayTradeResponse lResponse = new EstatisticaDayTradeResponse();

            lResponse = lServico.ObterEstatisticaDayTradeBovespa(lRequest);

            if (lResponse != null && lResponse.ListaEstatisticaBovespa != null)
            {
                this.SessaoUltimaConsulta = new TransporteCompliance().TraduzirLista(lResponse.ListaEstatisticaBovespa);

                this.ResponderFiltrarPorColunaDetalhes();

                lRetornoLista = new TransporteDeListaPaginada(this.SessaoUltimaConsulta);

                lRetorno = JsonConvert.SerializeObject(lRetornoLista);

                lRetornoLista.TotalDeItens = this.SessaoUltimaConsulta.Count;

                lRetornoLista.PaginaAtual = 1;

                lRetornoLista.TotalDePaginas = 0;

                return(lRetorno);
            }
            else
            {
                lRetorno = base.RetornarErroAjax("Ocorreu um erro ao processar a requisição");
            }

            return(lRetorno);
        }
        public EstatisticaDayTradeResponse ObterEstatisticaDayTradeBovespa(EstatisticaDayTradeRequest pRequest)
        {
            logger.Info("Solicitação de consulta método [ObterEstatisticaDayTradeBovespa] ");
            logger.Info("Processando requisição");
            EstatisticaDayTradeResponse _response = new EstatisticaDayTradeResponse();

            try
            {
                if (pRequest.TipoBolsa == EnumBolsaDayTrade.BOVESPA)
                {
                    if ((pRequest.Assessor == 0) && (pRequest.CodigoCliente != 0))
                    {
                        List <EstatisticaDayTradeBovespaInfo> listaOrdens = new List <EstatisticaDayTradeBovespaInfo>();

                        var lstOrdens = from p in _ListaEstatisticaDayTradeBovespa
                                        where p.CodigoCliente == pRequest.CodigoCliente &&
                                        p.TipoBolsa == EnumBolsaDayTrade.BOVESPA

                                        select p;

                        if (lstOrdens.Count() > 0)
                        {
                            foreach (var item in lstOrdens)
                            {
                                listaOrdens.Add(item);
                            }
                        }

                        _response.ListaEstatisticaBovespa = listaOrdens;
                    }
                    else if ((pRequest.Assessor != 0) && (pRequest.CodigoCliente == 0))
                    {
                        List <EstatisticaDayTradeBovespaInfo> listaOrdens = new List <EstatisticaDayTradeBovespaInfo>();

                        var lstOrdens = from p in _ListaEstatisticaDayTradeBovespa
                                        where p.CodigoAssessor == pRequest.Assessor &&
                                        p.TipoBolsa == EnumBolsaDayTrade.BOVESPA

                                        select p;

                        if (lstOrdens.Count() > 0)
                        {
                            foreach (var item in lstOrdens)
                            {
                                listaOrdens.Add(item);
                            }
                        }

                        _response.ListaEstatisticaBovespa = listaOrdens;
                    }
                    else if ((pRequest.Assessor != 0) && (pRequest.CodigoCliente != 0))
                    {
                        List <EstatisticaDayTradeBovespaInfo> listaOrdens = new List <EstatisticaDayTradeBovespaInfo>();

                        var lstOrdens = from p in _ListaEstatisticaDayTradeBovespa
                                        where p.CodigoCliente == pRequest.CodigoCliente &&
                                        p.CodigoAssessor == pRequest.Assessor &&
                                        p.TipoBolsa == EnumBolsaDayTrade.BOVESPA

                                        select p;

                        if (lstOrdens.Count() > 0)
                        {
                            foreach (var item in lstOrdens)
                            {
                                listaOrdens.Add(item);
                            }
                        }

                        _response.ListaEstatisticaBovespa = listaOrdens;
                    }
                    else if ((pRequest.Assessor == 0) && (pRequest.CodigoCliente == 0))
                    {
                        List <EstatisticaDayTradeBovespaInfo> listaOrdens = new List <EstatisticaDayTradeBovespaInfo>();

                        var lstOrdens = from p in _ListaEstatisticaDayTradeBovespa
                                        where p.TipoBolsa == EnumBolsaDayTrade.BOVESPA

                                        select p;

                        if (lstOrdens.Count() > 0)
                        {
                            foreach (var item in lstOrdens)
                            {
                                listaOrdens.Add(item);
                            }
                        }

                        _response.ListaEstatisticaBovespa = listaOrdens;
                    }
                }
                else
                {
                    //BMF SECTION

                    if ((pRequest.Assessor != 0) && (pRequest.CodigoCliente != 0))
                    {
                        List <EstatisticaDayTradeBovespaInfo> listaOrdens = new List <EstatisticaDayTradeBovespaInfo>();

                        var lstOrdens = from p in _ListaEstatisticaDayTradeBovespa
                                        where p.CodigoAssessor == pRequest.Assessor &&
                                        p.CodigoCliente == pRequest.CodigoCliente &&
                                        p.TipoBolsa == EnumBolsaDayTrade.BMF

                                        select p;

                        if (lstOrdens.Count() > 0)
                        {
                            foreach (var item in lstOrdens)
                            {
                                listaOrdens.Add(item);
                            }
                        }

                        _response.ListaEstatisticaBovespa = listaOrdens;
                    }
                    else if ((pRequest.Assessor != 0) && (pRequest.CodigoCliente == 0))
                    {
                        List <EstatisticaDayTradeBovespaInfo> listaOrdens = new List <EstatisticaDayTradeBovespaInfo>();

                        var lstOrdens = from p in _ListaEstatisticaDayTradeBovespa
                                        where p.CodigoAssessor == pRequest.Assessor &&
                                        p.TipoBolsa == EnumBolsaDayTrade.BMF

                                        select p;

                        if (lstOrdens.Count() > 0)
                        {
                            foreach (var item in lstOrdens)
                            {
                                listaOrdens.Add(item);
                            }
                        }

                        _response.ListaEstatisticaBovespa = listaOrdens;
                    }
                    else if ((pRequest.Assessor == 0) && (pRequest.CodigoCliente != 0))
                    {
                        List <EstatisticaDayTradeBovespaInfo> listaOrdens = new List <EstatisticaDayTradeBovespaInfo>();

                        var lstOrdens = from p in _ListaEstatisticaDayTradeBovespa
                                        where p.CodigoCliente == pRequest.CodigoCliente &&
                                        p.TipoBolsa == EnumBolsaDayTrade.BMF
                                        select p;

                        if (lstOrdens.Count() > 0)
                        {
                            foreach (var item in lstOrdens)
                            {
                                listaOrdens.Add(item);
                            }
                        }

                        _response.ListaEstatisticaBovespa = listaOrdens;
                    }
                    else if ((pRequest.Assessor == 0) && (pRequest.CodigoCliente == 0))
                    {
                        List <EstatisticaDayTradeBovespaInfo> listaOrdens = new List <EstatisticaDayTradeBovespaInfo>();

                        var lstOrdens = from p in _ListaEstatisticaDayTradeBovespa
                                        where  p.TipoBolsa == EnumBolsaDayTrade.BMF

                                        select p;

                        if (lstOrdens.Count() > 0)
                        {
                            foreach (var item in lstOrdens)
                            {
                                listaOrdens.Add(item);
                            }
                        }

                        _response.ListaEstatisticaBovespa = listaOrdens;
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error("Ocorreu um erro ao calcular ao acessar o método ObterEstatisticaDayTradeBovespa. ", ex);
            }

            logger.Info("Consulta processada e retornada com sucesso. + Numero de ocorrencias = " + _response.ListaEstatisticaBovespa.Count.ToString());
            return(_response);
        }