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