Пример #1
0
        protected void lkpaginaseguinte_Click(object sender, EventArgs e)
        {
            lberror.Text = "";

            ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;

            WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.EventoClick, "LM36 - lkpaginaseguinte_Click", abargs.USERNT, abargs.SN_HOSTNAME);

            LM36_ContratosProduto.ContratosProduto ultimoDD = ViewState["UltimoCT"] as LM36_ContratosProduto.ContratosProduto;

            LM36_ContratosProduto ct = new LM36_ContratosProduto();

            Helper.CopyPropertiesTo(camposChave, ct);

            string mode = ViewState["OP"] as string;
            MensagemOutput <LM36_ContratosProduto> lst = bl.LM36Request(ct, ultimoDD, abargs, "V", false);

            WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.Internal, "MC03", abargs.USERNT, abargs.SN_HOSTNAME);

            //Insucesso
            if (lst == null || (lst.ResultResult == null && lst.erro != 0))
            {
                lberror.Text = TAT2.GetMsgErroTATDescription(lst.erro.ToString(), abargs);
                if (string.IsNullOrEmpty(lberror.Text) || lberror.Text.Length < 5)
                {
                    lberror.Text = lst.mensagem;
                }
                lberror.Visible   = true;
                lberror.ForeColor = System.Drawing.Color.Red;
            }
            //Sucesso
            else
            {
                if (lst.ResultResult != null)
                {
                    lvConsultaProdutos.DataSource = lst.ResultResult.ContratosProdutos;
                    Dictionary <int, LM36_ContratosProduto.ContratosProduto> dic = new Dictionary <int, LM36_ContratosProduto.ContratosProduto>();
                    dic = ViewState["PaginasCTS"] as Dictionary <int, LM36_ContratosProduto.ContratosProduto>;

                    Helper.AddPageFirstItem(dic, lst.ResultResult.ContratosProdutos.First());
                    ViewState["PaginasCTS"] = dic;
                }

                //Para paginacao
                if (lst.ResultResult != null && lst.ResultResult.ContratosProdutos.Count() > 10)
                {
                    ViewState["PaginasCTS"]  = lst.ResultResult.ContratosProdutos.Last();
                    lkpaginaseguinte.Visible = true;
                }
                else
                {
                    lkpaginaseguinte.Visible = false;
                }
                lkpaginaanterior.Visible = true;
                lvConsultaProdutos.DataBind();
            }
        }
Пример #2
0
        public BCDWSProxy.LM36Transaction LM36Request(ABUtil.ABCommandArgs AbArgs, LM36_ContratosProduto _LM36, LM36_ContratosProduto.ContratosProduto rotLM36, string accao, bool pedido)
        {
            BCDWSProxy.LM36Transaction response = new BCDWSProxy.LM36Transaction();

            LM36.BarclaysBankAccountSettings = new BCDWSProxy.BarclaysBankAccountSettings();
            LM36.BarclaysBankAccountSettings.ApplicationID = ConfigurationManager.AppSettings["ApplicationID"];
            LM36.BarclaysBankAccountSettings.UserRequester = AbArgs.USERNT;
            LM36.BarclaysBankAccountSettings.ClientName    = AbArgs.SN_HOSTNAME;


            LM36.input = new BCDWSProxy.LM36Input();
            LM36.input.pedido_dados = pedido;
            LM36.input.caccao       = accao;

            LM36.input.cbalcao    = string.IsNullOrEmpty(_LM36.idmultilinha.ToString()) ? "" : _LM36.idmultilinha.ToString().Substring(0, 3);
            LM36.input.cprodml    = string.IsNullOrEmpty(_LM36.idmultilinha.ToString()) ? "" : _LM36.idmultilinha.ToString().Substring(3, 2);
            LM36.input.cnumectaml = string.IsNullOrEmpty(_LM36.idmultilinha.ToString()) ? "" : _LM36.idmultilinha.ToString().Substring(5, 6);
            LM36.input.cdigictaml = string.IsNullOrEmpty(_LM36.idmultilinha.ToString()) ? "" : _LM36.idmultilinha.ToString().Substring(11, 1);
            LM36.input.csubprodml = _LM36.Subprodutoml;
            LM36.input.gdescml    = _LM36.Descritivo;
            LM36.input.mlimglobal = _LM36.limiteglobalmultilinha;
            LM36.input.mlimassin  = _LM36.sublimiteriscoAssinatura;
            LM36.input.mlimcomer  = _LM36.sublimitriscoComercial;
            LM36.input.mlimfinan  = _LM36.sublimiteriscoFinanceiro;
            LM36.input.zcliente   = _LM36.Cliente.ToString();
            LM36.input.gdescml    = _LM36.Nome;
            LM36.input.cgraumor   = _LM36.GrauMorosidade.ToString();
            LM36.input.iestado    = _LM36.EstadoContratoProduto;
            LM36.input.irisco     = _LM36.TipologiaRisco != "" ? ML_Objectos.GetTipologiasRisco().FirstOrDefault(x => x.Description == _LM36.TipologiaRisco).Code: "";
            try
            {
                LM36.input.cfamiprod = _LM36.FamiliaProduto != "" ? ArvoreFamiliaProdutos.SearchFamiliaProduto(_LM36.TipologiaRisco).FirstOrDefault(x => x.familiaProduto == _LM36.FamiliaProduto).codfamiliaProduto.ToString() : "";
            }
            catch
            {
            }
            LM36.input.dpd             = _LM36.DPD.ToString();
            LM36.input.gcliente        = _LM36.Nome;
            LM36.input.zcliente        = _LM36.Cliente.ToString();
            LM36.input.rot_ccontrprod  = rotLM36.NContratoProduto;
            LM36.input.rot_cfamiprod   = rotLM36.FamiliaProduto;
            LM36.input.rot_cgraumor    = rotLM36.GrauMorosidade;
            LM36.input.rot_cprodsubpml = rotLM36.SubProduto;
            LM36.input.rot_dpd         = rotLM36.DPD.ToString();
            LM36.input.rot_iestadocp   = rotLM36.EstadoContratoProduto;
            LM36.input.rot_irisco      = rotLM36.TipoRisco;
            LM36.input.rot_mexpoact    = rotLM36.ExposicaoAtual;
            LM36.input.rot_mvlrcompr   = rotLM36.ValorComprometido;
            LM36.input.rot_mvlrcontr   = rotLM36.ValorContratado;

            //List<BCDWSProxy.LM36Row1> lstRow1 = new List<BCDWSProxy.LM36Row1>();

            //foreach (var f in _LM36.ContratosProdutos)
            //{
            //    BCDWSProxy.LM36Row1 _row1 = new BCDWSProxy.LM36Row1();

            //    _row1.lista_ccontrprod_l = f.NContratoProduto;
            //    _row1.lista_cgraumor_l = f.GrauMorosidade;
            //    _row1.lista_cfamiprod_l = f.FamiliaProduto;
            //    _row1.lista_cprodsubpml_l = f.SubProduto;
            //    _row1.lista_dpd_l = f.DPD.ToString();
            //    _row1.lista_iestadocp_l = f.EstadoContratoProduto;
            //    _row1.lista_irisco_l = f.TipoRisco;
            //    _row1.lista_mexpoact_l = f.ExposicaoAtual;
            //    _row1.lista_mvlrcompr_l = f.ValorComprometido;
            //    _row1.lista_mvlrcontr_l = f.ValorContratado;


            //}

            //LM36.input. = lstRow1.ToArray();
            BCDWSProxy.BarclaysBTSSoapClient client = new BCDWSProxy.BarclaysBTSSoapClient();
            bool bRetry = false;

            atempt = 0;
            do
            {
                try
                {
                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, MultilinhasObjects.LogTypeName.WsSoapRequest, LM36.input.SerializeToString(), AbArgs.USERNT, AbArgs.SN_HOSTNAME);

                    response = client.LM36SUBPRODUTOSML(LM36.BarclaysBankAccountSettings, LM36.input);
                    string sresponse = response.SerializeToString();

                    WriteLog.Log(System.Diagnostics.TraceLevel.Error, LogTypeName.WsSoapRequest, sresponse, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                    atempt++;
                }
                catch (Exception ex)
                {
                    WriteLog.Log(System.Diagnostics.TraceLevel.Verbose, LogTypeName.WsSoapResponse, ex, AbArgs.USERNT, AbArgs.SN_HOSTNAME);
                    response.Erro = new BCDWSProxy.TransactionError();
                    response.Erro.MensagemErro = tratamentoExcepcoes(ex, AbArgs, out bRetry);
                }
            } while (bRetry && atempt <= 1);

            return(response);
        }
Пример #3
0
        protected void lkpaginaanterior_Click(object sender, EventArgs e)
        {
            try
            {
                lberror.Text = "";

                ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
                MultilinhasDataLayer.WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.EventoClick, "LM36 - lkpaginaanterior_Click", abargs.USERNT, abargs.SN_HOSTNAME);

                //Contrato pesquisado
                LM36_ContratosProduto chaves = new LM36_ContratosProduto();
                Helper.CopyPropertiesTo(camposChave, chaves);

                Dictionary <int, LM36_ContratosProduto.ContratosProduto> dic = new Dictionary <int, LM36_ContratosProduto.ContratosProduto>();
                dic = ViewState["PaginasCTS"] as Dictionary <int, LM36_ContratosProduto.ContratosProduto>;
                LM36_ContratosProduto.ContratosProduto ultimoCT = dic.Count() == 1 ? dic[1] : dic[dic.Count() - 1]; //index pagina anterior

                //LM36
                MensagemOutput <LM36_ContratosProduto> lst = bl.LM36Request(chaves, ultimoCT, abargs, "V", false);

                //Insucesso
                if (lst == null || (lst.ResultResult == null && lst.erro != 0))
                {
                    lberror.Text = TAT2.GetMsgErroTATDescription(lst.erro.ToString(), abargs);
                    if (string.IsNullOrEmpty(lberror.Text) || lberror.Text.Length < 5)
                    {
                        lberror.Text = lst.mensagem;
                    }
                    lberror.Visible   = true;
                    lberror.ForeColor = System.Drawing.Color.Red;
                }
                //Sucesso
                else
                {
                    if (lst.ResultResult != null && lst.ResultResult.ContratosProdutos.Count() >= 1)
                    {
                        lvConsultaProdutos.DataSource = lst.ResultResult.ContratosProdutos;
                        dic = ViewState["PaginasDDs"] as Dictionary <int, LM36_ContratosProduto.ContratosProduto>;
                        if (dic.Count() > 1)
                        {
                            dic.Remove(dic.Count()); //remover index de "proxima pagina"
                        }

                        lkpaginaanterior.Visible = false;
                        lkpaginaseguinte.Visible = false;
                    }

                    //Para paginacao
                    if (lst.ResultResult != null && lst.ResultResult.ContratosProdutos.Count() > 10)
                    {
                        ViewState["PaginasDDs"]  = lst.ResultResult.ContratosProdutos.Last();
                        lkpaginaseguinte.Visible = true;
                        lkpaginaanterior.Visible = true;
                    }

                    lvConsultaProdutos.DataBind();
                }
            }
            catch (Exception ex)
            {
                ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
                WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.Internal, "lkpaginaanterior_Click: " + ex.InnerException, abargs.USERNT, abargs.SN_HOSTNAME);
                lberror.Text      = ex.Message;
                lberror.Visible   = true;
                lberror.ForeColor = System.Drawing.Color.Red;
            }
        }
Пример #4
0
        public MensagemOutput <LM36_ContratosProduto> LM36Request(LM36_ContratosProduto _LM36, LM36_ContratosProduto.ContratosProduto rotLM36, ABUtil.ABCommandArgs abargs, string accao, bool pedido)
        {
            MensagemOutput <LM36_ContratosProduto> msgOut = new MensagemOutput <LM36_ContratosProduto>();

            MultilinhasDataLayer.BCDWSProxy.LM36Transaction response = dl.LM36Request(abargs, _LM36, rotLM36, accao, pedido);

            msgOut.erro     = response.Erro != null ? response.Erro.CodigoErro : 999;
            msgOut.mensagem = response.Erro != null ? response.Erro.MensagemErro : "";

            if (response.output != null)
            {
                LM36_ContratosProduto obj = new LM36_ContratosProduto();

                int cliente = 0;
                Int32.TryParse(response.output.zcliente, out cliente);
                obj.Cliente    = cliente;
                obj.Descritivo = response.output.gdescml;

                int DPD = 0;
                Int32.TryParse(response.output.dpd, out DPD);
                obj.DPD = DPD;
                //obj.EstadoContratoProduto = response.output.e
                obj.FamiliaProduto = response.output.cfamiprod;
                int graumorosidade = 0;
                Int32.TryParse(response.output.cgraumor, out graumorosidade);
                obj.GrauMorosidade         = graumorosidade;
                obj.idmultilinha           = string.Format("{0}{1}{2}{3}", response.output.cbalcao, response.output.cprodml, response.output.cnumectaml, response.output.cdigictaml);
                obj.limiteglobalmultilinha = response.output.mlimglobal;
                obj.Nome      = response.output.gcliente;
                obj.Produtoml = response.output.cprodml;
                obj.sublimiteriscoAssinatura = response.output.mlimassin;
                obj.sublimiteriscoFinanceiro = response.output.mlimfinan;
                obj.sublimitriscoComercial   = response.output.mlimcomer;
                obj.Subprodutoml             = response.output.csubprodml;
                obj.TipologiaRisco           = response.output.irisco;

                //listas
                foreach (var a in response.row1)
                {
                    if (a.lista_ccontrprod_l != null)
                    {
                        LM36_ContratosProduto.ContratosProduto ctr = new LM36_ContratosProduto.ContratosProduto();

                        int dpd = 0;
                        Int32.TryParse(response.output.dpd, out dpd);
                        ctr.DPD = dpd;
                        ctr.EstadoContratoProduto = a.lista_iestadocp_l;
                        ctr.ExposicaoAtual        = a.lista_mexpoact_l;
                        ctr.FamiliaProduto        = a.lista_cfamiprod_l;
                        ctr.GrauMorosidade        = a.lista_cgraumor_l;
                        ctr.NContratoProduto      = a.lista_ccontrprod_l;
                        ctr.SubProduto            = a.lista_cprodsubpml_l; // com 4
                        ctr.TipoRisco             = a.lista_irisco_l;
                        ctr.ValorComprometido     = a.lista_mvlrcompr_l;
                        ctr.ValorContratado       = a.lista_mvlrcontr_l;
                        ctr.ExposicaoAtual        = a.lista_mexpoact_l;


                        obj.ContratosProdutos.Add(ctr);
                    }
                    ;
                }
                msgOut.ResultResult = obj;
            }

            return(msgOut);
        }