private void ObterSaldoContaCorrenteUtilizandoLimite() { SaldoCustodiaRequest _SaldoRequest = new SaldoCustodiaRequest() { IdCliente = IdCliente }; SaldoCustodiaResponse <CustodiaClienteInfo> resultData = new ServicoCustodia().ObterCustodiaCliente(_SaldoRequest); }
private void ObterCustodiaBMF() { SaldoCustodiaRequest _SaldoRequest = new SaldoCustodiaRequest() { IdCliente = 108651 }; SaldoCustodiaResponse <CustodiaClienteInfo> resultData = new ServicoCustodia().ObterCustodiaCliente(_SaldoRequest); SaldoCustodiaResponse <CustodiaClienteBMFInfo> resposta = new ServicoCustodia().ObterCustodiaClienteBMF(new SaldoCustodiaRequest() { IdCliente = 108651 }); }
private void ObterSaldoCustodia() { ServicoCustodia custodia = new ServicoCustodia(); SaldoCustodiaRequest RE = new SaldoCustodiaRequest(); RE.IdCliente = 31940; var Resposta = custodia.ObterCustodiaConsolidada(RE); SaldoCustodiaRequest _SaldoRequest = new SaldoCustodiaRequest() { IdCliente = 31940 }; SaldoCustodiaResponse <CustodiaClienteInfo> resultData = new ServicoCustodia().ObterCustodiaCliente(_SaldoRequest); }
public ValidarCustodiaResponse ObterCustodiaCliente(ValidarCustodiaRequest request) { ValidarCustodiaResponse response = new ValidarCustodiaResponse(); try { SaldoCustodiaRequest requestCustodia = new SaldoCustodiaRequest(); requestCustodia.IdCliente = request.IdCliente; IServicoCustodia servico = Ativador.Get <IServicoCustodia>(); SaldoCustodiaResponse <CustodiaClienteInfo> responseCustodia = servico.ObterCustodiaCliente(requestCustodia); response.ColecaoObjeto = responseCustodia.ColecaoObjeto; foreach (CustodiaClienteInfo custodia in response.ColecaoObjeto) { decimal ultimaCotacao = ObterUltimaCotacao(custodia.CodigoInstrumento); logger.Info( "Papel[" + custodia.CodigoInstrumento + "] Cotacao[" + ultimaCotacao + "] Qtd.Atual[" + custodia.QtdeAtual + "] Qtd.Disponivel[" + custodia.QtdeDisponivel + "] Posicao[" + custodia.ValorPosicao + "]"); } response.DataResposta = DateTime.Now; response.CriticaResposta = StatusRespostaEnum.Sucesso; response.DescricaoResposta = "Custodia carregada com sucesso."; } catch (Exception ex) { response.DataResposta = DateTime.Now; response.CriticaResposta = StatusRespostaEnum.ErroPrograma; response.Exception = ex; response.DescricaoResposta = ex.Message; } return(response); }
/// <summary> /// Obtem a custódia do cliente para mostrar na intranet /// </summary> /// <param name="pParametros">Informações do cliente</param> /// <returns>Custódia do cliente para mostrar na intranet</returns> public SaldoCustodiaResponse <CustodiaClienteInfo> ObterSaldoCustodiaClienteIntranet(SaldoCustodiaRequest pParametros) { return(new PersistenciaCustodia().ObterSaldoCustodiaClienteIntranet(pParametros)); }
private AdesaoClienteResponse CalcularRiscoCliente(AdesaoClienteRequest request) { AdesaoClienteResponse response = new AdesaoClienteResponse(); decimal saldoProjetado = 0; decimal saldoCustodia = 0; decimal valorCarteira = 0; // Obtendo saldo projetado do cliente SaldoContaCorrenteResponse <ContaCorrenteInfo> responseSaldo = new SaldoContaCorrenteResponse <ContaCorrenteInfo>(); try { SaldoContaCorrenteRequest requestSaldoContaCorrente = new SaldoContaCorrenteRequest(); requestSaldoContaCorrente.IdCliente = request.IdCliente; IServicoContaCorrente servico = Ativador.Get <IServicoContaCorrente>(); responseSaldo = servico.ObterSaldoContaCorrente(requestSaldoContaCorrente); saldoProjetado = (( responseSaldo.Objeto.SaldoD0 + responseSaldo.Objeto.SaldoD1 + responseSaldo.Objeto.SaldoD2 + responseSaldo.Objeto.SaldoD3) + (decimal.Parse(responseSaldo.Objeto.SaldoContaMargem.ToString())) + (decimal.Parse(responseSaldo.Objeto.SaldoBloqueado.ToString()))); } catch (Exception ex) { response.DataResposta = DateTime.Now; response.bSucesso = false; response.CriticaResposta = StatusRespostaEnum.ErroPrograma; response.Exception = ex; response.DescricaoResposta = ex.Message; return(response); } // Obtendo saldo da custódia do cliente string listaCustodia = ""; try { SaldoCustodiaRequest requestCustodia = new SaldoCustodiaRequest(); requestCustodia.IdCliente = request.IdCliente; IServicoCustodia servico = Ativador.Get <IServicoCustodia>(); SaldoCustodiaResponse <CustodiaClienteInfo> responseCustodia = servico.ObterSaldoCustodiaClienteIntranet(requestCustodia); foreach (CustodiaClienteInfo custodia in responseCustodia.ColecaoObjeto) { decimal ultimaCotacao = ObterUltimaCotacao(custodia.CodigoInstrumento); if (ultimaCotacao != 0) { saldoCustodia += (custodia.QtdeDisponivel * ultimaCotacao); listaCustodia += custodia.CodigoInstrumento + "(" + custodia.QtdeDisponivel + "*" + ultimaCotacao + ") "; } else { saldoCustodia += Convert.ToDecimal(custodia.ValorPosicao); listaCustodia += custodia.CodigoInstrumento + "(" + custodia.ValorPosicao + ") "; } } } catch (Exception ex) { response.DataResposta = DateTime.Now; response.bSucesso = false; response.CriticaResposta = StatusRespostaEnum.ErroPrograma; response.Exception = ex; response.DescricaoResposta = ex.Message; return(response); } // Obtendo valor total da composicao da carteira recomendada string listaCarteira = ""; try { ListarComposicaoRequest requestComposicao = new ListarComposicaoRequest(); requestComposicao.idProduto = request.IdProduto; ListarComposicaoResponse responseComposicao = SolicitarListaComposicao(requestComposicao); foreach (CarteiraRecomendadaComposicaoInfo composicao in responseComposicao.listaComposicao) { decimal ultimaCotacao = ObterUltimaCotacao(composicao.IdAtivo); valorCarteira += (composicao.Quantidade * ultimaCotacao); listaCarteira += composicao.IdAtivo + "(" + composicao.Quantidade + "*" + ultimaCotacao + ") "; } } catch (Exception ex) { response.DataResposta = DateTime.Now; response.bSucesso = false; response.CriticaResposta = StatusRespostaEnum.ErroPrograma; response.Exception = ex; response.DescricaoResposta = ex.Message; return(response); } logger.Debug("Saldo Projetado: " + saldoProjetado + " (" + responseSaldo.Objeto.SaldoD0 + " + " + responseSaldo.Objeto.SaldoD1 + " + " + responseSaldo.Objeto.SaldoD2 + " + " + responseSaldo.Objeto.SaldoD3 + " + " + responseSaldo.Objeto.SaldoContaMargem.ToString() + " + " + responseSaldo.Objeto.SaldoBloqueado.ToString() + ")"); logger.Debug("Saldo Custodia: " + saldoCustodia + " (" + listaCustodia + ")"); logger.Debug("Valor Carteira: " + valorCarteira + " (" + listaCarteira + ")"); // Verifica o risco do cliente if (saldoCustodia + saldoProjetado < valorCarteira) { response.DataResposta = DateTime.Now; response.bSucesso = false; response.CriticaResposta = StatusRespostaEnum.ErroNegocio; response.DescricaoResposta = "Cliente não possui saldo suficiente para adesão à Carteira Recomendada solicitada."; logger.Debug("Cliente não possui saldo suficiente para adesão à Carteira Recomendada solicitada"); } else { response.DataResposta = DateTime.Now; response.bSucesso = true; response.CriticaResposta = StatusRespostaEnum.Sucesso; response.DescricaoResposta = SUCESSO; } return(response); }