public static ConsultarObjetosResponse <MonitorRiscoInfo> ConsultarDadosMonitorRisco(ConsultarEntidadeRequest <MonitorRiscoInfo> pParametros)
        {
            gRetorno = new ConsultarObjetosResponse <MonitorRiscoInfo>();

            gRetornoLista = new List <MonitorRiscoInfo>();

            gRetornoInterno = new MonitorRiscoInfo();

            if (pParametros.Objeto.CodigoClienteBmf != null)
            {
                gRetornoInterno.CodigoClienteBmf = pParametros.Objeto.CodigoClienteBmf;
            }

            if (pParametros.Objeto.CodigoAssessor.HasValue)
            {
                List <int> lClientes = ClienteDbLib.ReceberListaClientesAssessoresVinculados(pParametros.Objeto.CodigoAssessor.Value);

                int lCliente = pParametros.Objeto.CodigoCliente.HasValue ? pParametros.Objeto.CodigoCliente.Value : pParametros.Objeto.CodigoClienteBmf.Value;

                if (!lClientes.Contains(lCliente))
                {
                    return(gRetorno);
                }
            }

            ObterDadosCliente(pParametros.Objeto.CodigoCliente.HasValue ? pParametros.Objeto.CodigoCliente : pParametros.Objeto.CodigoClienteBmf);

            ConsultarMargemRequeridaBMF(pParametros);

            ConsultarGarantiaBovespa(pParametros);

            if ((gRetornoInterno.CodigoClienteBmf == null))
            {
                ObterContaBMF(pParametros.Objeto.CodigoCliente.Value);
            }

            if (gRetornoInterno.CodigoClienteBmf != null && gRetornoInterno.CodigoCliente == null)
            {
                gRetornoInterno.CodigoCliente = gRetornoInterno.CodigoClienteBmf;
            }

            //gRetorno.DescricaoResposta = string.Format("Posição em Monitor de Risco do cliente: {0} carregado com sucesso", pParametros.CodigoCliente.DBToString());
            //gRetorno.StatusResposta = MensagemResponseStatusEnum.OK;

            gRetornoLista.Add(gRetornoInterno);

            gRetorno.Resultado = gRetornoLista;

            return(gRetorno);
        }
        private void EfetuaFiltroSuitabilityLavagem(SuitabilityLavagemInfo pRequest, ref SuitabilityLavagemInfo lRetorno)
        {
            IEnumerable <SuitabilityLavagemInfo> lRetornoValor;

            switch (pRequest.enumVolume)
            {
            case enumVolume.ABAIXO_500M:
                lRetornoValor = from a in lRetorno.Resultado where a.Volume < 500000 select a;
                break;

            case enumVolume.ENTRE_500M_E_1000M:
                lRetornoValor = from a in lRetorno.Resultado where a.Volume > 500000 && a.Volume < 1000000 select a;
                break;

            case enumVolume.ACIMA_1000M:
                lRetornoValor = from a in lRetorno.Resultado where a.Volume > 1000000 select a;
                break;

            default:
                lRetornoValor = from a in lRetorno.Resultado select a;
                break;
            }

            lRetorno.Resultado = lRetornoValor.ToList();

            switch (pRequest.enumVOLxSFP)
            {
            case enumVOLxSFP.ABAIXO_20:
                lRetornoValor = from a in lRetorno.Resultado where a.PercentualVOLxSFP < 20 select a;
                break;

            case enumVOLxSFP.ENTRE_20_E_50:
                lRetornoValor = from a in lRetorno.Resultado where a.PercentualVOLxSFP > 20 && a.PercentualVOLxSFP < 50 select a;
                break;

            case enumVOLxSFP.ACIMA_50:
                lRetornoValor = from a in lRetorno.Resultado where a.PercentualVOLxSFP > 50 select a;
                break;

            default:
                lRetornoValor = from a in lRetorno.Resultado select a;
                break;
            }

            lRetorno.Resultado = lRetornoValor.ToList();

            if (pRequest.CodigoAssessor.HasValue)
            {
                List <int> lClientes = ClienteDbLib.ReceberListaClientesAssessoresVinculados(pRequest.CodigoAssessor.Value);

                lRetornoValor = from a in lRetornoValor where lClientes.Contains(a.CodigoCliente.Value) select a;

                lRetorno.Resultado = lRetornoValor.ToList();
            }

            SuitabilityClienteDataNaoEnquadrados lRequest = new SuitabilityClienteDataNaoEnquadrados();

            lRequest.DataDe  = pRequest.DataDe.Value;
            lRequest.DataAte = pRequest.DataAte.Value;

            List <SuitabilityClienteDataNaoEnquadrados> lListaSuitability = this.ObterSuitabilityStatusData(lRequest);

            foreach (SuitabilityLavagemInfo info in  lRetorno.Resultado)
            {
                var lSuitability = lListaSuitability.Find(suit => { return(suit.CodigoBovespa == info.CodigoCliente); });

                if (lSuitability != null)
                {
                    info.Suitability = "Não Enquadrado";
                }
                else
                {
                    info.Suitability = "Enquadrado";
                }
            }

            switch (pRequest.enumEnquadrado)
            {
            case enumEnquadrado.Todos:
                lRetornoValor = from a in lRetorno.Resultado select a;
                break;

            case enumEnquadrado.Enquadrado:
                lRetornoValor = from a in lRetorno.Resultado where a.Suitability == "Enquadrado" select a;
                break;

            case enumEnquadrado.NaoEnquadrado:
                lRetornoValor = from a in lRetorno.Resultado where a.Suitability == "Não Enquadrado" select a;
                break;
            }

            lRetorno.Resultado = lRetornoValor.ToList();

            List <int> lstClientesInstitucionais = ObterClientesInstitucionais();

            //lRetorno.Resultado = (from a in lRetornoValor where !lstClientesInstitucionais.Contains(a.CodigoCliente.Value) select a ).ToList();

            List <int> lstClientesInstitucionaisBmf = ObterClientesInstitucionaisBMF();

            lRetorno.Resultado = (from a in lRetorno.Resultado where !lstClientesInstitucionaisBmf.Contains(a.CodigoCliente.Value) && !lstClientesInstitucionais.Contains(a.CodigoCliente.Value) select a).ToList();
        }
Beispiel #3
0
        private void EfetuaFiltroMonitoramentoIntradiario(MonitoramentoIntradiarioInfo pRequest, ref MonitoramentoIntradiarioInfo lRetorno)
        {
            IEnumerable <MonitoramentoIntradiarioInfo> lRetornoValor;

            switch (pRequest.enumEXPxPosicao)
            {
            case EnumEXPxPosicao.ABAIXO_20:
                lRetornoValor = from a in lRetorno.Resultado where  a.EXPxPosicao < 20 select a;
                break;

            case EnumEXPxPosicao.ENTRE_20_E_50:
                lRetornoValor = from a in lRetorno.Resultado where a.EXPxPosicao > 20 && a.EXPxPosicao < 50 select a;
                break;

            case EnumEXPxPosicao.ACIMA_50:
                lRetornoValor = from a in lRetorno.Resultado where a.EXPxPosicao > 50 select a;
                break;

            default:
                lRetornoValor = from a in lRetorno.Resultado select a;
                break;
            }

            lRetorno.Resultado = lRetornoValor.ToList();

            switch (pRequest.enumNET)
            {
            case EnumNet.ABAIXO_500_MIL:
                lRetornoValor = from a in lRetorno.Resultado where a.Net < 500000 select a;
                break;

            case EnumNet.ENTRE_500_1000_MIL:
                lRetornoValor = from a in lRetorno.Resultado where a.Net > 500000 && a.Net < 1000000 select a;
                break;

            case EnumNet.ACIMA_1000:
                lRetornoValor = from a in lRetorno.Resultado where a.Net > 1000000 select a;
                break;

            default:
                lRetornoValor = from a in lRetorno.Resultado select a;
                break;
            }

            lRetorno.Resultado = lRetornoValor.ToList();

            switch (pRequest.enumNETxSFP)
            {
            case EnumNETxSFP.ABAIXO_20:
                lRetornoValor = from a in lRetorno.Resultado where a.NETxSFP < 20  select a;
                break;

            case EnumNETxSFP.ENTRE_20_E_50:
                lRetornoValor = from a in lRetorno.Resultado where a.NETxSFP > 20 && a.NETxSFP < 50  select a;
                break;

            case EnumNETxSFP.ACIMA_50:
                lRetornoValor = from a in lRetorno.Resultado where a.NETxSFP > 50  select a;
                break;

            default:
                lRetornoValor = from a in lRetorno.Resultado select a;
                break;
            }

            lRetorno.Resultado = lRetornoValor.ToList();

            if (pRequest.CodigoAssessor.HasValue)
            {
                List <int> lClientes = ClienteDbLib.ReceberListaClientesAssessoresVinculados(pRequest.CodigoAssessor.Value);

                lRetornoValor = from a in lRetornoValor where lClientes.Contains(a.CodigoCliente.Value) select a;

                lRetorno.Resultado = lRetornoValor.ToList();
            }
        }
Beispiel #4
0
        private void EfetuaFiltroChurningIntraday(ChurningIntradayInfo pRequest, ref ChurningIntradayInfo lRetorno)
        {
            IEnumerable <ChurningIntradayInfo> lRetornoValor;

            switch (pRequest.enumPercentualCE)
            {
            case enumPercentualCE.ABAIXO_10:
                lRetornoValor = from a in lRetorno.Resultado where a.PercentualCEnoPeriodo <= 10 select a;
                break;

            case enumPercentualCE.ENTRE_10_E_15:
                lRetornoValor = from a in lRetorno.Resultado where a.PercentualCEnoPeriodo > 10 && a.PercentualCEnoPeriodo < 15 select a;
                break;

            case enumPercentualCE.ENTRE_15_E_20:
                lRetornoValor = from a in lRetorno.Resultado where a.PercentualCEnoPeriodo > 15 && a.PercentualCEnoPeriodo < 20 select a;
                break;

            case enumPercentualCE.ACIMA_20:
                lRetornoValor = from a in lRetorno.Resultado where a.PercentualCEnoPeriodo > 20 select a;
                break;

            default:
                lRetornoValor = from a in lRetorno.Resultado select a;
                break;
            }

            lRetorno.Resultado = lRetornoValor.ToList();

            switch (pRequest.enumPercentualTR)
            {
            case enumPercentualTR.ABAIXO_2:
                lRetornoValor = from a in lRetorno.Resultado where a.PercentualTRnoPeriodo <= 2 select a;
                break;

            case enumPercentualTR.ENTRE_2_E_8:
                lRetornoValor = from a in lRetorno.Resultado where a.PercentualTRnoPeriodo > 2 && a.PercentualTRnoPeriodo < 8 select a;
                break;

            case enumPercentualTR.ACIMA_8:
                lRetornoValor = from a in lRetorno.Resultado where a.PercentualTRnoPeriodo > 8 select a;
                break;

            default:
                lRetornoValor = from a in lRetorno.Resultado select a;
                break;
            }

            lRetorno.Resultado = lRetornoValor.ToList();

            //switch(pRequest.enumTotalCompras)
            //{
            //    case enumTotalCompras.ABAIXO_500M:
            //        lRetornoValor = from a in lRetorno.Resultado where a.ValorCompras <= 500000  select a;
            //        break;
            //    case enumTotalCompras.ENTRE_500M_E_1000M:
            //        lRetornoValor = from a in lRetorno.Resultado where a.ValorCompras > 500000 && a.ValorCompras < 1000000 select a;
            //        break;
            //    case enumTotalCompras.ACIMA_1000M :
            //        lRetornoValor = from a in lRetorno.Resultado where a.ValorCompras > 1000000 select a;
            //        break;
            //    default:
            //        lRetornoValor = from a in lRetorno.Resultado select a;
            //        break;
            //}

            //lRetorno.Resultado = lRetornoValor.ToList();

            //switch (pRequest.enumTotalVendas)
            //{
            //    case enumTotalVendas.ABAIXO_500M:
            //        lRetornoValor = from a in lRetorno.Resultado where a.ValorVendas <= 500000 select a;
            //        break;
            //    case enumTotalVendas.ENTRE_500M_E_1000M:
            //        lRetornoValor = from a in lRetorno.Resultado where a.ValorVendas > 500000 && a.ValorVendas < 1000000 select a;
            //        break;
            //    case enumTotalVendas.ACIMA_1000M:
            //        lRetornoValor = from a in lRetorno.Resultado where a.ValorVendas > 1000000 select a;
            //        break;
            //    default:
            //        lRetornoValor = from a in lRetorno.Resultado select a;
            //        break;
            //}

            //lRetorno.Resultado = lRetornoValor.ToList();

            //switch (pRequest.enumCarteiraMedia)
            //{
            //    case enumCarteiraMedia.ABAIXO_500M:
            //        lRetornoValor = from a in lRetorno.Resultado where a.ValorCarteiraMedia <= 500000 select a;
            //        break;
            //    case enumCarteiraMedia.ENTRE_500M_E_1000M:
            //        lRetornoValor = from a in lRetorno.Resultado where a.ValorCarteiraMedia > 500000 && a.ValorCarteiraMedia < 1000000 select a;
            //        break;
            //    case enumCarteiraMedia.ACIMA_1000M:
            //        lRetornoValor = from a in lRetorno.Resultado where a.ValorCarteiraMedia > 1000000 select a;
            //        break;
            //    default:
            //        lRetornoValor = from a in lRetorno.Resultado select a;
            //        break;
            //}

            //lRetorno.Resultado = lRetornoValor.ToList();

            if (pRequest.CodigoAssessor.HasValue)
            {
                List <int> lClientes = ClienteDbLib.ReceberListaClientesAssessoresVinculados(pRequest.CodigoAssessor.Value);

                lRetornoValor = from a in lRetornoValor where lClientes.Contains(a.CodigoCliente.Value) select a;

                lRetorno.Resultado = lRetornoValor.ToList();
            }
        }