private void InserirParametroBMF() { ClienteParametroLimiteBMFInfo ClienteParametroBMFInfo = new ClienteParametroLimiteBMFInfo(); InserirLimiteClienteBMFRequest request = new InserirLimiteClienteBMFRequest(); InserirLimiteClienteBMFResponse response = new InserirLimiteClienteBMFResponse(); ServicoLimiteBMF ServicoLimiteBMF = new ServicoLimiteBMF(); ClienteParametroBMFInfo.Account = 31217; ClienteParametroBMFInfo.DataValidade = DateTime.Now.AddDays(5); ClienteParametroBMFInfo.Contrato = "DOL"; ClienteParametroBMFInfo.idClientePermissao = 30; ClienteParametroBMFInfo.QuantidadeDisponivel = 10; ClienteParametroBMFInfo.QuantidadeTotal = 10; ClienteParametroBMFInfo.RenovacaoAutomatica = 'S'; ClienteParametroBMFInfo.Sentido = "V"; request.ClienteParametroLimiteBMFInfo = ClienteParametroBMFInfo; response = ServicoLimiteBMF.AtualizarLimiteBMF(request); }
private string ResponderSalvarLimitesBmf() { string lRetorno = string.Empty; try { var lServico = new ServicoLimiteBMF(); var listAntigaInstrumentos = Session["Spider_ListaLimitesInstrumentos_" + GetCodBmf] as List<ClienteParametroBMFInstrumentoInfo>; var listAntigaContratos = Session["Spider_ListaLimites_" + GetCodBmf] as List<ClienteParametroLimiteBMFInfo>; string lAntigoStatusContratos = RetornarSucessoAjax(listAntigaContratos, ""); string lAntigoStatusInstrumentos = RetornarSucessoAjax(listAntigaInstrumentos, ""); List<ClienteParametroLimiteBMFInfo> lListContrato = Session["Spider_LimitesContrato_" + GetCodBmf] as List<ClienteParametroLimiteBMFInfo>; List<ClienteParametroBMFInstrumentoInfo> lListInstrumento = Session["Spider_LimitesInstrumento_" + GetCodBmf] as List<ClienteParametroBMFInstrumentoInfo>; InserirLimiteClienteBMFRequest lRequestContrato = new InserirLimiteClienteBMFRequest(); InserirLimiteBMFInstrumentoRequest lRequestInstrumento = new InserirLimiteBMFInstrumentoRequest(); List<ContratoAuxIntrumento> llistAuxContrato = new List<ContratoAuxIntrumento>(); //Atualiza os dados para salvar a quantidade ClienteParametroBMFInstrumentoInfo lInstrumentoEncontradoCompra = null; ClienteParametroBMFInstrumentoInfo lInstrumentoEncontradoVenda = null; if (GetInstrumento != "null") { lInstrumentoEncontradoCompra = lListInstrumento.Find(instru => { return instru.Sentido == 'C' && instru.Instrumento == GetInstrumento; }); lInstrumentoEncontradoVenda = lListInstrumento.Find(instru => { return instru.Sentido == 'V' && instru.Instrumento == GetInstrumento; }); lListInstrumento.Remove(lInstrumentoEncontradoCompra); lListInstrumento.Remove(lInstrumentoEncontradoVenda); } if ( Request["lCliente_Qtde_Compra_Instrumento"] .ToString()!="") lInstrumentoEncontradoCompra.QtDisponivel = Convert.ToInt32(Request["lCliente_Qtde_Compra_Instrumento"].ToString()); if (Request["lCliente_Qtde_Compra_Instrumento"].ToString() != "") lInstrumentoEncontradoCompra.QtTotalInstrumento = Convert.ToInt32(Request["lCliente_Qtde_Compra_Instrumento"].ToString()); if (Request["lCliente_Qtde_Venda_Instrumento"].ToString() != "") lInstrumentoEncontradoVenda.QtDisponivel = Convert.ToInt32(Request["lCliente_Qtde_Venda_Instrumento"].ToString()); if (Request["lCliente_Qtde_Venda_Instrumento"].ToString() != "") lInstrumentoEncontradoVenda.QtTotalInstrumento = Convert.ToInt32(Request["lCliente_Qtde_Venda_Instrumento"].ToString()); if (Request["lCliente_Qtde_Maxima_Instrumento"].ToString() != "" ) lInstrumentoEncontradoCompra.QuantidadeMaximaOferta = Convert.ToInt32(Request["lCliente_Qtde_Maxima_Instrumento"].ToString()); if (Request["lCliente_Qtde_Maxima_Instrumento"].ToString() != "") lInstrumentoEncontradoVenda.QuantidadeMaximaOferta = Convert.ToInt32(Request["lCliente_Qtde_Maxima_Instrumento"].ToString()); lListInstrumento.Add(lInstrumentoEncontradoCompra); lListInstrumento.Add(lInstrumentoEncontradoVenda); var lContratoEncontrados = lListContrato.FindAll(contrato => { return contrato.Contrato == GetContrato; }); var infoCompra = new ClienteParametroLimiteBMFInfo(); var infoVenda = new ClienteParametroLimiteBMFInfo(); foreach (ClienteParametroLimiteBMFInfo info in lContratoEncontrados) { if (info.Sentido == "C") { infoCompra.idClienteParametroBMF = info.idClienteParametroBMF; } else if (info.Sentido == "V") { infoVenda.idClienteParametroBMF = info.idClienteParametroBMF; } lListContrato.Remove(info); } infoCompra.Account = GetCodBmf; infoCompra.Contrato = GetContrato; infoCompra.QuantidadeDisponivel = Convert.ToInt32(Request["lCliente_Qtde_Compra"].ToString()); infoCompra.QuantidadeTotal = Convert.ToInt32(Request["lCliente_Qtde_Compra"].ToString()); infoCompra.QuantidadeMaximaOferta = Convert.ToInt32(Request["lCliente_Qtde_Maxima_Contrato"].ToString()); infoCompra.DataValidade = Convert.ToDateTime(Request["lCliente_Data_validade"]); infoCompra.Sentido = "C"; infoCompra.idClientePermissao = base.UsuarioLogado.Id; infoCompra.RenovacaoAutomatica = 'S'; lListContrato.Add(infoCompra); infoVenda.Account = GetCodBmf; infoVenda.Contrato = GetContrato; infoVenda.QuantidadeDisponivel = Convert.ToInt32(Request["lCliente_Qtde_Venda"].ToString()); infoVenda.QuantidadeTotal = Convert.ToInt32(Request["lCliente_Qtde_Venda"].ToString()); infoVenda.QuantidadeMaximaOferta = Convert.ToInt32(Request["lCliente_Qtde_Maxima_Contrato"].ToString()); infoVenda.DataValidade = Convert.ToDateTime(Request["lCliente_Data_validade"]); infoVenda.Sentido = "V"; infoVenda.idClientePermissao = base.UsuarioLogado.Id; infoVenda.RenovacaoAutomatica = 'S'; lListContrato.Add(infoVenda); string lNovoStatusContratos = RetornarSucessoAjax(lListContrato, ""); string lNovoStatusInstrumentos = RetornarSucessoAjax(lListInstrumento, ""); foreach (ClienteParametroLimiteBMFInfo info in lListContrato) { lRequestContrato.ClienteParametroLimiteBMFInfo = info; InserirLimiteClienteBMFResponse lResponseContrato = lServico.AtualizarSpiderLimiteBMF(lRequestContrato); ContratoAuxIntrumento lAux = new ContratoAuxIntrumento(); lAux.Contrato = info.Contrato; lAux.IdClienteParametroBMF = lResponseContrato.IdClienteParametroBMF == 0 ? info.idClienteParametroBMF : lResponseContrato.IdClienteParametroBMF; lAux.Sentido = info.Sentido; llistAuxContrato.Add(lAux); } foreach (ClienteParametroBMFInstrumentoInfo info in lListInstrumento) { if (info != null) { lRequestInstrumento.LimiteBMFInstrumento = info; var lAux = llistAuxContrato.Find(aux => { return aux.Sentido == info.Sentido.ToString() && aux.Contrato == info.Instrumento.Substring(0, 3); }); if (lAux != null) { lRequestInstrumento.LimiteBMFInstrumento.IdClienteParametroBMF = lAux.IdClienteParametroBMF; } var lReponseInstrumento = lServico.AtualizarSpiderLimiteInstrumentoBMF(lRequestInstrumento); } } base.RegistrarLogInclusao(new Contratos.Dados.Cadastro.LogIntranetInfo() { //--> Registrando o Log. CdBovespaClienteAfetado = this.GetCodBmf, DsObservacao = string.Concat("Contratos Antigos: ", lAntigoStatusContratos, " Instrumentos Antigos: ", lAntigoStatusInstrumentos) + string.Concat(" Contratos Novos: " , lNovoStatusContratos , " Instrumentos Novos: ", lNovoStatusInstrumentos) }); ListarLimiteBMFRequest lRequest = new ListarLimiteBMFRequest(); lRequest.Account = GetCodBmf; ListarLimiteBMFResponse lResponse = lServico.ObterSpiderLimiteBMFCliente(lRequest); Session["Spider_LimitesInstrumento_" + GetCodBmf] = Session["Spider_ListaLimitesInstrumentos_" + GetCodBmf] = null; Session["Spider_LimitesContrato_" + GetCodBmf] = Session["Spider_ListaLimites_" + GetCodBmf] = null; if (lResponse.ListaLimites != null && lResponse.ListaLimitesInstrumentos != null) { Session["Spider_LimitesContrato_" + GetCodBmf] = Session["Spider_ListaLimites_" + GetCodBmf] = lResponse.ListaLimites; Session["Spider_LimitesInstrumento_" + GetCodBmf] = Session["Spider_ListaLimitesInstrumentos_" + GetCodBmf] = lResponse.ListaLimitesInstrumentos; } ILimiteManager lmtMng = Ativador.Get<ILimiteManager>(); ReloadClientLimitResponse resp = new ReloadClientLimitResponse(); ReloadClientLimitRequest req = new ReloadClientLimitRequest(); req.CodCliente = Convert.ToInt32(GetCodBmf); req.DeleteOnly = false; lmtMng.ReloadLimitClientLimitStructures(req); lRetorno = RetornarSucessoAjax("Limites BMF configurados com sucesso."); } catch (Exception ex) { RetornarErroAjax("Erro ao Salvar limites BMF", ex); } return lRetorno; }
//private bool ValidaQuantidadeInstrumento(string pContrato, string pSentido, int quantidade) //{ // bool lRetorno = true; // List<ClienteParametroLimiteBMFInfo> lListContrato = Session["LimitesContrato_" + GetCodBmf] as List<ClienteParametroLimiteBMFInfo>; // var lContato = lListContrato.Find(contrato => { return contrato.Contrato == pContrato && contrato.Sentido == pSentido; }); // if () // return lRetorno; //} private string ResponderInsereIntrumentoLimitesBmf() { string lRetorno = string.Empty; try { ClienteParametroLimiteBMFInfo lContratoCompra = new ClienteParametroLimiteBMFInfo(); ClienteParametroLimiteBMFInfo lContratoVenda = new ClienteParametroLimiteBMFInfo(); if (VerificaContratoExiste(Request["lCliente_Contrato"].ToString(), GetCodBmf.ToString())) { lContratoCompra.idClienteParametroBMF = GetIdClienteParametroBMF(Request["lCliente_Contrato"].ToString(),"C"); lContratoVenda.idClienteParametroBMF = GetIdClienteParametroBMF(Request["lCliente_Contrato"].ToString(),"V"); } lContratoVenda.Account = lContratoCompra.Account = GetCodBmf; lContratoVenda.Contrato = lContratoCompra.Contrato = Request["lCliente_Contrato"]; lContratoVenda.DataMovimento = lContratoCompra.DataMovimento = DateTime.Now; lContratoVenda.DataValidade = lContratoCompra.DataValidade = Convert.ToDateTime(Request["lCliente_Data_validade"]); lContratoVenda.QuantidadeMaximaOferta = lContratoCompra.QuantidadeMaximaOferta = Convert.ToInt32(Request["lCliente_Qtde_Maxima_Contrato"]); lContratoCompra.QuantidadeTotal = Convert.ToInt32(Request["lCliente_Qtde_Compra"]); lContratoVenda.QuantidadeTotal = Convert.ToInt32(Request["lCliente_Qtde_Venda"]); lContratoCompra.QuantidadeDisponivel = Convert.ToInt32(Request["lCliente_Qtde_Compra"]); lContratoVenda.QuantidadeDisponivel = Convert.ToInt32(Request["lCliente_Qtde_Venda"]); lContratoCompra.Sentido = "C"; lContratoVenda.Sentido = "V"; lContratoCompra.RenovacaoAutomatica = 'S'; lContratoVenda.RenovacaoAutomatica = 'S'; lContratoVenda.idClientePermissao = base.UsuarioLogado.Id; lContratoCompra.idClientePermissao = base.UsuarioLogado.Id; ClienteParametroBMFInstrumentoInfo lInstrumentoCompra = new ClienteParametroBMFInstrumentoInfo(); ClienteParametroBMFInstrumentoInfo lInstrumentoVenda = new ClienteParametroBMFInstrumentoInfo(); if (VerificaInstrumentoExiste(Request["lCliente_Instrumento"].ToString().ToUpper(), GetCodBmf.ToString())) { lInstrumentoCompra.IdClienteParametroInstrumento = GetIdClienteParametroInstrumentoBMF(Request["lCliente_Instrumento"].ToString().ToUpper(), "C"); lInstrumentoVenda.IdClienteParametroInstrumento = GetIdClienteParametroInstrumentoBMF(Request["lCliente_Instrumento"].ToString().ToUpper(), "V"); } lInstrumentoVenda.Instrumento = lInstrumentoCompra.Instrumento = Request["lCliente_Instrumento"].ToString().ToUpper(); lInstrumentoVenda.QuantidadeMaximaOferta = lInstrumentoCompra.QuantidadeMaximaOferta = Convert.ToInt32(Request["lCliente_Qtde_Maxima_Instrumento"]); lInstrumentoVenda.dtMovimento = lInstrumentoCompra.dtMovimento = DateTime.Now; lInstrumentoVenda.Sentido = 'V'; lInstrumentoCompra.Sentido = 'C'; lInstrumentoCompra.QtTotalContratoPai = Convert.ToInt32(Request["lCliente_Qtde_Compra"]); lInstrumentoVenda.QtTotalContratoPai = Convert.ToInt32(Request["lCliente_Qtde_Venda"]); lInstrumentoCompra.QtTotalInstrumento = Convert.ToInt32(Request["lCliente_Qtde_Compra_Instrumento"]); lInstrumentoVenda.QtTotalInstrumento = Convert.ToInt32(Request["lCliente_Qtde_Venda_Instrumento"]); lInstrumentoCompra.QtDisponivel = Convert.ToInt32(Request["lCliente_Qtde_Compra_Instrumento"]); lInstrumentoVenda.QtDisponivel = Convert.ToInt32(Request["lCliente_Qtde_Venda_Instrumento"]); var listContrato = Session["Spider_LimitesContrato_" + GetCodBmf] as List<ClienteParametroLimiteBMFInfo>; var listInstrumento = Session["Spider_LimitesInstrumento_" + GetCodBmf] as List<ClienteParametroBMFInstrumentoInfo>; listContrato.Add(lContratoCompra); listContrato.Add(lContratoVenda); listInstrumento.Add(lInstrumentoCompra); listInstrumento.Add(lInstrumentoVenda); Session["Spider_LimitesContrato_" + GetCodBmf] = listContrato; Session["Spider_LimitesInstrumento_" + GetCodBmf] = listInstrumento; lRetorno = base.RetornarSucessoAjax(new TransporteLimiteBMF().TraduzirInstrumentoNovoParaTela(listContrato,listInstrumento, Request["lCliente_Contrato"].ToString()), "Limite inserido com sucesso"); } catch (Exception ex) { RetornarErroAjax("Erro ao Inserir limites bmf instrumento", ex); } return lRetorno; }
private string ResponderSalvarLimitesBmf() { string lRetorno = string.Empty; try { var lServico = new ServicoLimiteBMF(); var listAntigaInstrumentos = Session["ListaLimitesInstrumentos_" + GetCodBmf] as List <ClienteParametroBMFInstrumentoInfo>; var listAntigaContratos = Session["ListaLimites_" + GetCodBmf] as List <ClienteParametroLimiteBMFInfo>; string lAntigoStatusContratos = RetornarSucessoAjax(listAntigaContratos, ""); string lAntigoStatusInstrumentos = RetornarSucessoAjax(listAntigaInstrumentos, ""); List <ClienteParametroLimiteBMFInfo> lListContrato = Session["LimitesContrato_" + GetCodBmf] as List <ClienteParametroLimiteBMFInfo>; List <ClienteParametroBMFInstrumentoInfo> lListInstrumento = Session["LimitesInstrumento_" + GetCodBmf] as List <ClienteParametroBMFInstrumentoInfo>; InserirLimiteClienteBMFRequest lRequestContrato = new InserirLimiteClienteBMFRequest(); InserirLimiteBMFInstrumentoRequest lRequestInstrumento = new InserirLimiteBMFInstrumentoRequest(); List <ContratoAuxIntrumento> llistAuxContrato = new List <ContratoAuxIntrumento>(); //Atualiza os dados para salvar a quantidade var lInstrumentoEncontradoCompra = lListInstrumento.Find(instru => { return(instru.Sentido == 'C' && instru.Instrumento == GetInstrumento); }); var lInstrumentoEncontradoVenda = lListInstrumento.Find(instru => { return(instru.Sentido == 'V' && instru.Instrumento == GetInstrumento); }); lListInstrumento.Remove(lInstrumentoEncontradoCompra); lListInstrumento.Remove(lInstrumentoEncontradoVenda); lInstrumentoEncontradoCompra.QtDisponivel = Convert.ToInt32(Request["lCliente_Qtde_Compra_Instrumento"].ToString()); lInstrumentoEncontradoCompra.QtTotalInstrumento = Convert.ToInt32(Request["lCliente_Qtde_Compra_Instrumento"].ToString()); lInstrumentoEncontradoVenda.QtDisponivel = Convert.ToInt32(Request["lCliente_Qtde_Venda_Instrumento"].ToString()); lInstrumentoEncontradoVenda.QtTotalInstrumento = Convert.ToInt32(Request["lCliente_Qtde_Venda_Instrumento"].ToString()); lInstrumentoEncontradoCompra.QuantidadeMaximaOferta = Convert.ToInt32(Request["lCliente_Qtde_Maxima_Instrumento"].ToString()); lInstrumentoEncontradoVenda.QuantidadeMaximaOferta = Convert.ToInt32(Request["lCliente_Qtde_Maxima_Instrumento"].ToString()); lListInstrumento.Add(lInstrumentoEncontradoCompra); lListInstrumento.Add(lInstrumentoEncontradoVenda); var lContratoEncontrados = lListContrato.FindAll(contrato => { return(contrato.Contrato == GetContrato); }); foreach (ClienteParametroLimiteBMFInfo info in lContratoEncontrados) { lListContrato.Remove(info); ClienteParametroLimiteBMFInfo infoAux = info; infoAux.QuantidadeTotal = infoAux.QuantidadeDisponivel = (info.Sentido == "C") ? Convert.ToInt32(Request["lCliente_Qtde_Compra"].ToString()) : Convert.ToInt32(Request["lCliente_Qtde_Venda"].ToString()); infoAux.QuantidadeMaximaOferta = Convert.ToInt32(Request["lCliente_Qtde_Maxima_Contrato"].ToString()); lListContrato.Add(infoAux); } string lNovoStatusContratos = RetornarSucessoAjax(lListContrato, ""); string lNovoStatusInstrumentos = RetornarSucessoAjax(lListInstrumento, ""); foreach (ClienteParametroLimiteBMFInfo info in lListContrato) { lRequestContrato.ClienteParametroLimiteBMFInfo = info; InserirLimiteClienteBMFResponse lResponseContrato = lServico.AtualizarLimiteBMF(lRequestContrato); ContratoAuxIntrumento lAux = new ContratoAuxIntrumento(); lAux.Contrato = info.Contrato; lAux.IdClienteParametroBMF = lResponseContrato.IdClienteParametroBMF == 0 ? info.idClienteParametroBMF : lResponseContrato.IdClienteParametroBMF; lAux.Sentido = info.Sentido; llistAuxContrato.Add(lAux); } foreach (ClienteParametroBMFInstrumentoInfo info in lListInstrumento) { lRequestInstrumento.LimiteBMFInstrumento = info; var lAux = llistAuxContrato.Find(aux => { return(aux.Sentido == info.Sentido.ToString() && aux.Contrato == info.Instrumento.Substring(0, 3)); }); if (lAux != null) { lRequestInstrumento.LimiteBMFInstrumento.IdClienteParametroBMF = lAux.IdClienteParametroBMF; } lServico.AtualizarLimiteInstrumentoBMF(lRequestInstrumento); } base.RegistrarLogInclusao(new Contratos.Dados.Cadastro.LogIntranetInfo() { //--> Registrando o Log. CdBovespaClienteAfetado = this.GetCodBmf, DsObservacao = string.Concat("Contratos Antigos: ", lAntigoStatusContratos, " Instrumentos Antigos: ", lAntigoStatusInstrumentos) + string.Concat(" Contratos Novos: ", lNovoStatusContratos, " Instrumentos Novos: ", lNovoStatusInstrumentos) }); ListarLimiteBMFRequest lRequest = new ListarLimiteBMFRequest(); lRequest.Account = GetCodBmf; ListarLimiteBMFResponse lResponse = lServico.ObterLimiteBMFCliente(lRequest); Session["LimitesInstrumento_" + GetCodBmf] = Session["ListaLimitesInstrumentos_" + GetCodBmf] = null; Session["LimitesContrato_" + GetCodBmf] = Session["ListaLimites_" + GetCodBmf] = null; if (lResponse.ListaLimites != null && lResponse.ListaLimitesInstrumentos != null) { Session["LimitesContrato_" + GetCodBmf] = Session["ListaLimites_" + GetCodBmf] = lResponse.ListaLimites; Session["LimitesInstrumento_" + GetCodBmf] = Session["ListaLimitesInstrumentos_" + GetCodBmf] = lResponse.ListaLimitesInstrumentos; } /* * ILimiteManager lmtMng = Ativador.Get<ILimiteManager>(); * ReloadLimitsResponse resp = new ReloadLimitsResponse(); * ReloadLimitsRequest req = new ReloadLimitsRequest(); * req.ReloadSecurityList = false; // true: para forçar o recarregamento de cadastro de papeis / false para carregar somente parâmetros e limites (mais rápido) * lmtMng.ReloadLimitStructures(req); */ lRetorno = RetornarSucessoAjax("Limites BMF configurados com sucesso."); } catch (Exception ex) { RetornarErroAjax("Erro ao Salvar limites BMF", ex); } return(lRetorno); }