public MonitorCustodiaResponse ObterMonitorCustodiaMemoria(MonitorCustodiaRequest lRequest) { gLogger.Debug("Solicitação de consulta [ ObterMonitorCustodiaMemoria ] requisitada. Cliente = " + lRequest.CodigoCliente.ToString()); MonitorCustodiaResponse lRetorno = new MonitorCustodiaResponse(); MonitorCustodiaInfo lMonitorCliente = MonitorCustodiaDB.ConsultarDadosClienteMonitorCustodia(new MonitorCustodiaInfo() { CodigoClienteBov = lRequest.CodigoCliente.Value }); if ((lMonitorCliente.CodigoClienteBov.HasValue) || (lMonitorCliente.CodigoClienteBmf.HasValue)) { lock (MonitorCustodiaMemoria) { if (MonitorCustodiaMemoria.ContainsKey(lRequest.CodigoCliente)) { gLogger.InfoFormat("Pegou posicao do Cliente[{0}] da memoria", lRequest.CodigoCliente); lRetorno.MonitorCustodia = MonitorCustodiaMemoria[lRequest.CodigoCliente] as MonitorCustodiaInfo; } else { gLogger.Debug("A posicao do clienet[" + lRequest.CodigoCliente + "] não estava na memória"); gLogger.Debug("Recalcular posicao [" + lRequest.CodigoCliente + "] novamente"); MonitorCustodiaInfo lInfoPosicao = this.CalcularPosicaoCustodia(lRequest.CodigoCliente.Value); lRetorno.MonitorCustodia = lInfoPosicao; MonitorCustodiaMemoria.Add(lInfoPosicao.CodigoClienteBov, lInfoPosicao); } } } return(lRetorno); }
public MonitorCustodiaResponse ObterMonitorCustodiaMemoria(MonitorCustodiaRequest lRequest) { gLogger.Debug("Solicitação de consulta [ ObterMonitorCustodiaMemoria ] requisitada. Cliente = " + lRequest.CodigoCliente.ToString()); MonitorCustodiaResponse lRetorno = new MonitorCustodiaResponse(); try { gLogger.InfoFormat("Entrou no método-->> ObterMonitorCustodiaMemoria --> Antes do ConsultarDadosClienteMonitorCustodia"); MonitorCustodiaInfo lMonitorCliente = MonitorCustodiaDB.ConsultarDadosClienteMonitorCustodia(new MonitorCustodiaInfo() { CodigoClienteBov = lRequest.CodigoCliente.Value, CodAssessor = lRequest.CodAssessor }); if ((lMonitorCliente.CodigoClienteBov.HasValue) || (lMonitorCliente.CodigoClienteBmf.HasValue)) { gLogger.InfoFormat("Consulta do Cliente[{0}] ObterMonitorCustodiaMemoria -->> depois do ConsultarDadosClienteMonitorCustodia", lRequest.CodigoCliente.Value); this.AddRemoveClientRunTimerProcessed(lRequest.CodigoCliente.Value); if (MonitorCustodiaMemoria.ContainsKey(lRequest.CodigoCliente.Value)) { if (!ClientesMonitor.Contains(lRequest.CodigoCliente.Value)) { gLogger.InfoFormat("O Cliente[{0}] Está no MonitorCustodiaMemoria, mas não está sendo monitorado no ClientesMonitor nesse instante", lRequest.CodigoCliente); lRetorno.MonitorCustodia = this.CalcularPosicaoCustodia(lRequest.CodigoCliente.Value); gLogger.Debug("Cliente [" + lRequest.CodigoCliente + "] recalculado novamente"); } else { gLogger.InfoFormat("Pegou posicao do Cliente[{0}] da memoria", lRequest.CodigoCliente); lRetorno.MonitorCustodia = MonitorCustodiaMemoria[lRequest.CodigoCliente.Value] as MonitorCustodiaInfo; } } else { gLogger.Debug("A posicao do cliente[" + lRequest.CodigoCliente + "] não estava na memória"); lRetorno.MonitorCustodia = this.CalcularPosicaoCustodia(lRequest.CodigoCliente.Value); gLogger.Debug("Cliente [" + lRequest.CodigoCliente + "] recalculado novamente"); } MonitorCustodiaMemoria.AddOrUpdate(lRetorno.MonitorCustodia.CodigoClienteBov.Value, lRetorno.MonitorCustodia, (key, oldValue) => lRetorno.MonitorCustodia); gLogger.InfoFormat("**************************************************************************************"); gLogger.InfoFormat("*******Total de calculos efetuados na memória [{0}]", MonitorCustodiaMemoria.Count); gLogger.InfoFormat("**************************************************************************************"); } } catch (Exception ex) { gLogger.Error("Erro em ObterMonitorCustodiaMemoria -> ", ex); } return(lRetorno); }
public MonitorCustodiaInfo CalcularPosicaoCustodia(int idCliente) { MonitorCustodiaInfo lRetorno = new MonitorCustodiaInfo(); try { lRetorno = MonitorCustodiaDB.ConsultarDadosClienteMonitorCustodia(new MonitorCustodiaInfo() { CodigoClienteBov = idCliente }); List <MonitorCustodiaInfo.CustodiaPosicao> lPosicaoCustodia = MonitorCustodiaDB.ConsultarCustodiaNormal(new Lib.Mensageria.MonitorCustodiaRequest() { CodigoCliente = lRetorno.CodigoClienteBov, CodigoClienteBmf = lRetorno.CodigoClienteBmf }); lRetorno.ListaCustodia = TratarListaCustodia(lPosicaoCustodia); List <MonitorCustodiaInfo.CustodiaPosicao> lPosicaoCustodiaSemCarteira = MonitorCustodiaDB.ConsultarCustodiaNormalSemCarteira(new Lib.Mensageria.MonitorCustodiaRequest() { CodigoCliente = lRetorno.CodigoClienteBov, CodigoClienteBmf = lRetorno.CodigoClienteBmf }); lRetorno.ListaCustodiaSemCarteira = TratarListaCustodia(lPosicaoCustodiaSemCarteira); List <MonitorCustodiaInfo.CustodiaPosicao> lPosicaoCustodiaAberturaBMF = MonitorCustodiaDB.ObterCustodiaAberturaBMF(new Lib.Mensageria.MonitorCustodiaRequest() { CodigoCliente = lRetorno.CodigoClienteBov, CodigoClienteBmf = lRetorno.CodigoClienteBmf }); lRetorno.ListaCustodia.AddRange(TratarListaCustodia(lPosicaoCustodiaAberturaBMF)); List <MonitorCustodiaInfo.CustodiaPosicaoDiaBMF> lPosicaoCustodiaDia = MonitorCustodiaDB.ConsultarCustodiaPosicaoDiaBMF(new MonitorCustodiaInfo() { CodigoClienteBmf = lRetorno.CodigoClienteBmf }); lRetorno.ListaPosicaoDiaBMF = TratarListaCustodia(lPosicaoCustodiaDia); lRetorno.ListaGarantias = MonitorCustodiaDB.ConsultarFinanceiroGarantiaBMF(new MonitorCustodiaInfo() { CodigoClienteBmf = lRetorno.CodigoClienteBmf }); //lRetorno.ListaGarantiasBMFOuro = MonitorCustodiaDB.ConsultarFinanceiroGarantiaBMFOuro(new MonitorCustodiaInfo() { CodigoClienteBmf = lRetorno.CodigoClienteBmf }); lRetorno.ListaGarantiasBMFOuro = new List <MonitorCustodiaInfo.CustodiaGarantiaBMFOuro>(); lRetorno.ListaGarantiasBovespa = MonitorCustodiaDB.ConsultarFinanceiroGarantiaBovespa(new MonitorCustodiaInfo() { CodigoClienteBov = lRetorno.CodigoClienteBov }); } catch (Exception ex) { gLogger.ErrorFormat("Erro calcular posição do cliente [{0}] - StackTrace - {1} -> error {2}", idCliente, ex.StackTrace, ex); } return(lRetorno); }
private MonitorCustodiaInfo CalcularPosicaoCustodia(int idCliente) { MonitorCustodiaInfo lRetorno = new MonitorCustodiaInfo(); try { //if (idCliente == 31940) //{ lRetorno = MonitorCustodiaDB.ConsultarDadosClienteMonitorCustodia(new MonitorCustodiaInfo() { CodigoClienteBov = idCliente }); lRetorno.ListaCustodia = MonitorCustodiaDB.ConsultarCustodiaNormal(new Lib.Mensageria.MonitorCustodiaRequest() { CodigoCliente = idCliente }); lRetorno.ListaPosicaoDiaBMF = MonitorCustodiaDB.ConsultarCustodiaPosicaoDiaBMF(new MonitorCustodiaInfo() { CodigoClienteBmf = idCliente }); lRetorno.ListaGarantias = MonitorCustodiaDB.ConsultarFinanceiroGarantiaBMF(new MonitorCustodiaInfo() { CodigoClienteBmf = idCliente }); //lRetorno.ListaGarantiasBMFOuro = MonitorCustodiaDB.ConsultarFinanceiroGarantiaBMFOuro(new MonitorCustodiaInfo() { CodigoClienteBmf = idCliente }); lRetorno.ListaGarantiasBMFOuro = new List <MonitorCustodiaInfo.CustodiaGarantiaBMFOuro>(); lRetorno.ListaGarantiasBovespa = MonitorCustodiaDB.ConsultarFinanceiroGarantiaBovespa(new MonitorCustodiaInfo() { CodigoClienteBov = idCliente }); //} } catch (Exception ex) { gLogger.ErrorFormat("Erro calcular posição do cliente [{0}] - StackTrace - {1}", idCliente, ex.StackTrace); } return(lRetorno); }