Exemple #1
0
        private List<TransporteCustodiaInfo> CarregarRelatorio()
        {
            var lRetorno = new List<TransporteCustodiaInfo>();
            var lServico = Ativador.Get<IServicoRelatoriosFinanceiros>();

            var lResponse = lServico.ConsultarCustodia(new PosicaoCustodiaRequest()
            {
                 ConsultaCdClienteBMF = this.GetCodBmfCliente,
                  ConsultaCdClienteBovespa = this.GetCodCliente
            });

            if (lResponse.StatusResposta == OMS.Library.MensagemResponseStatusEnum.OK)
            {
                if (lResponse.Objeto.ListaMovimento != null)
                {   //--> Aplicando o filtro de mercado para consulta.
                    switch (this.GetMercado)
                    {
                        case "FUT":
                            lResponse.Objeto.ListaMovimento = lResponse.Objeto.ListaMovimento.FindAll(cci => "FUT".Equals(cci.TipoMercado.ToUpper()));
                            break;
                        case "OPC":
                            lResponse.Objeto.ListaMovimento = lResponse.Objeto.ListaMovimento.FindAll(cci => "OPC".Equals(cci.TipoMercado.ToUpper()));
                            break;
                        case "TER":
                            lResponse.Objeto.ListaMovimento = lResponse.Objeto.ListaMovimento.FindAll(cci => "TER".Equals(cci.TipoMercado.ToUpper()));
                            break;
                        case "VIS":
                            lResponse.Objeto.ListaMovimento = lResponse.Objeto.ListaMovimento.FindAll(cci => "VIS".Equals(cci.TipoMercado.ToUpper()));
                            break;
                    }

                    switch (this.GetBolsa)
                    {
                        case "bmf":
                            lResponse.Objeto.ListaMovimento = lResponse.Objeto.ListaMovimento.FindAll(cci => "BMF".Equals(cci.TipoGrupo));
                            break;

                        default:
                            lResponse.Objeto.ListaMovimento = lResponse.Objeto.ListaMovimento.FindAll(cci => !"BMF".Equals(cci.TipoGrupo));
                            break;
                    }

                    base.RegistrarLogConsulta(new Contratos.Dados.Cadastro.LogIntranetInfo() { CdBovespaClienteAfetado = this.GetCodCliente, DsObservacao = string.Concat("Consulta realizada para o cliente: cd_codigo = ", this.GetCodCliente) });
                }

                lRetorno = TransporteCustodiaInfo.TraduzirCustodiaInfo(lResponse.Objeto.ListaMovimento);

                this.RecuperarValoresUltimaCotacao(ref lRetorno);

                return lRetorno;
            }
            else
            {
                throw new Exception(string.Format("Erro do serviço ao obter custódias: {0} {1}", lResponse.StatusResposta, lResponse.DescricaoResposta));
            }
        }
Exemple #2
0
        private List <TransporteCustodiaInfo> BuscarCustodiasDoCliente(int CodBovespa)
        {
            var lRetorno = new List <TransporteCustodiaInfo>();

            var lServico = this.InstanciarServico <IServicoRelatoriosFinanceiros>();

            var lResponse = lServico.ConsultarCustodia(new PosicaoCustodiaRequest()
            {
                ConsultaCdClienteBovespa = CodBovespa
            });

            if (lResponse.StatusResposta == OMS.Library.MensagemResponseStatusEnum.OK)
            {
                lRetorno = TransporteCustodiaInfo.TraduzirCustodiaInfo(lResponse.Objeto.ListaMovimento);

                RecuperarValoresUltimaCotacao(ref lRetorno);
            }
            else
            {
                throw new Exception(string.Format("Erro do serviço ao obter custódias: {0} {1}", lResponse.StatusResposta, lResponse.DescricaoResposta));
            }

            return(lRetorno);
        }
Exemple #3
0
        /// <summary>
        /// Método que busca os valores de conta-corrente no serviço de contacorrente
        /// </summary>
        /// <returns>Retorna uma string json com os valores de contacorrente do cliente selecionado</returns>
        public string ResponderBuscarLimites()
        {
            string lRetorno = string.Empty;

            int lCodigoCliente = RequestCodigoCliente.Value;

            try
            {
                IServicoContaCorrente servicoCC = this.InstanciarServico <IServicoContaCorrente>();

                decimal lTotalSaldoCC = 0M;

                var lResponseSaldo = servicoCC.ObterSaldoContaCorrente(new SaldoContaCorrenteRequest()
                {
                    IdCliente = lCodigoCliente
                });

                if (lResponseSaldo != null && lResponseSaldo.StatusResposta == OMS.ContaCorrente.Lib.Enum.CriticaMensagemEnum.OK)
                {
                    lTotalSaldoCC = lResponseSaldo.Objeto.SaldoD0;
                }

                ///Buscanso valor de fundos
                List <Transporte_PosicaoCotista> ListaPosicao = base.PosicaoFundosSumarizado(lCodigoCliente, CpfCnpj);

                decimal lTotalFundos = 0M;

                foreach (var lFundo in ListaPosicao)
                {
                    lTotalFundos += decimal.Parse(lFundo.ValorLiquido);
                }


                var lRequestCustodia = new MonitorCustodiaRequest();

                var lResponseCustodia = new MonitorCustodiaResponse();

                var gServicoCustodia = Ativador.Get <IServicoMonitorCustodia>();

                lRequestCustodia.CodigoCliente = lCodigoCliente;

                lResponseCustodia = gServicoCustodia.ObterMonitorCustodiaMemoria(lRequestCustodia);

                var lRetornoCustodia = new List <TransporteCustodiaInfo>();

                IEnumerable <MonitorCustodiaInfo.CustodiaPosicao> Lista = from a in lResponseCustodia.MonitorCustodia.ListaCustodia orderby a.Resultado descending select a;

                lRetornoCustodia = TransporteCustodiaInfo.TraduzirCustodiaInfo(Lista.ToList());

                var lListaCustodia = lRetornoCustodia;

                decimal lSomatoriaCustodia = 0M;

                IServicoCotacao lServicoCotacao = Ativador.Get <IServicoCotacao>();

                foreach (TransporteCustodiaInfo lCus in lListaCustodia)
                {
                    var lCotacao = lServicoCotacao.ReceberTickerCotacao(lCus.CodigoNegocio);

                    var lMsgCotacao = new Gradual.Intranet.Www.App_Codigo.TransporteJson.TransporteMensagemDeNegocio(lCotacao);

                    lSomatoriaCustodia += (Convert.ToDecimal(lCus.QtdAtual) * Convert.ToDecimal(lMsgCotacao.Preco));
                }

                decimal lTotalLimiteSomado = (lTotalFundos + lSomatoriaCustodia + lTotalSaldoCC);

                var lObjetoRetorno = new ClienteCallBackLimite(lCodigoCliente, RequestCodigoIPOCliente, lTotalLimiteSomado);

                lRetorno = RetornarSucessoAjax(lObjetoRetorno, "Limite do cliente " + lCodigoCliente + " atualizado com sucesso");
            }
            catch (Exception ex)
            {
                lRetorno = RetornarErroAjax("Erro ao Buscar dados de limites", ex);
            }

            return(lRetorno);
        }