コード例 #1
0
ファイル: Form1.cs プロジェクト: radtek/Gradual
        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);
        }
コード例 #2
0
        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);
        }