Ejemplo n.º 1
0
        //private string RepopularCustodia()
        //{
        //    string lResposta;

        //    List<TransporteCustodiaInfo> lCustodias;

        //    try
        //    {
        //        lCustodias = BuscarCustodiasDoCliente();

        //        lResposta = RetornarSucessoAjax(lCustodias, "{0} papéis em custódia encontrados", lCustodias.Count);
        //    }
        //    catch (Exception ex)
        //    {
        //        lResposta = RetornarErroAjax("Erro ao buscar custódias.", ex);
        //    }

        //    return lResposta;
        //}

        #endregion

        #region | Métodos de apoio

        private void RecuperarValoresUltimaCotacao(ref List <TransporteCustodiaInfo> pListaCustodias)
        {
            if (pListaCustodias != null)
            {
                Gradual.Intranet.Www.App_Codigo.TransporteJson.TransporteMensagemDeNegocio lCotacao;

                IServicoCotacao lServico = this.InstanciarServico <IServicoCotacao>();

                foreach (TransporteCustodiaInfo lTransporteCustodia in pListaCustodias)
                {
                    try
                    {
                        lCotacao = new Gradual.Intranet.Www.App_Codigo.TransporteJson.TransporteMensagemDeNegocio(lServico.ReceberTickerCotacao(lTransporteCustodia.CodigoNegocio));

                        lTransporteCustodia.ValorDeFechamento = lCotacao.ValorFechamento;

                        lTransporteCustodia.Cotacao = Convert.ToDecimal(lCotacao.Preco).ToString("n");

                        lTransporteCustodia.Variacao = lCotacao.Variacao;

                        try
                        {
                            lTransporteCustodia.Resultado = ((double)double.Parse(lCotacao.Preco) * double.Parse(lCotacao.Quantidade)).ToString("n");
                        }
                        catch { }
                    }
                    catch (Exception ex)
                    {
                        gLogger.Error("Erro em RecuperarValoresUltimaCotacao() na página Custodia.aspx", ex);
                    }
                }
            }
        }
Ejemplo n.º 2
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);
        }