//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); } } } }
/// <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); }