protected void btnCriar_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                //Validações
                //1º: Verificar que o nº minimo de produtos está selecionado
                int nMinimoProdutosAtivar;
                Int32.TryParse(txtNumeroMinimoProdutos.Text, out nMinimoProdutosAtivar);
                bool val = validacaoCP(nMinimoProdutosAtivar);
                if (!val)
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "scroll", "ToTopOfPage();", true);
                    return;
                }

                //2º Verificar Valor Sublimites
                bool val1 = validacaoSublimitesRisco();
                if (!val1)
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "scroll", "ToTopOfPage();", true);
                    return;
                }

                bool val2 = true; //validacaoDtProximaCobrabca();
                if (val && val1 && val2)
                {
                    //Call LM33 - C
                    LM33_ContratoML _LM33 = new LM33_ContratoML();
                    Helper.CopyPropertiesTo(MC33C, _LM33);

                    getSublimites(_LM33);

                    ABUtil.ABCommandArgs             abargs   = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
                    MensagemOutput <LM33_ContratoML> response = bl.LM33Request(_LM33, abargs, "C", "", false);

                    if (response.ResultResult != null && response.ResultResult.Cliente != null)
                    {
                        lberror.Text      = Constantes.Mensagens.LM33ContratoCriado;
                        lberror.Visible   = true;
                        lberror.ForeColor = System.Drawing.Color.Green;
                    }
                    else
                    {
                        lberror.Text      = TAT2.GetMsgErroTATDescription(response.mensagem, abargs);
                        lberror.Visible   = true;
                        lberror.ForeColor = System.Drawing.Color.Red;
                    }

                    ClientScript.RegisterStartupScript(this.GetType(), "scroll", "ToTopOfPage();", true);
                    Helper.SetEnableControler(this, false);
                    btnSeguinte.Enabled = true;
                }
            }
        }
        internal void getSublimites(LM33_ContratoML _lm33)
        {
            _lm33.ProdutosRiscoAssinatura = new List <LM33_ContratoML.ProdutosRiscoA>();
            _lm33.produtosRiscoC          = new List <LM33_ContratoML.ProdutoRiscoC>();
            _lm33.produtosRiscoF          = new List <LM33_ContratoML.ProdutoRiscoF>();

            foreach (var fm in lvProdutosRisco.Items)
            {
                CheckBox ch = fm.FindControl("lbCParticular") as CheckBox;
                if (ch.Checked)
                {
                    _lm33.produtosRiscoF.Add(new LM33_ContratoML.ProdutoRiscoF
                    {
                        familiaproduto = (fm.FindControl("lbProduto") as Label).Text,
                        prodsubproduto = (fm.FindControl("lbSubproduto") as Label).Text.Split('-')[0],
                        tipologia      = "A",
                        descritivo     = (fm.FindControl("lbSubproduto") as Label).Text.Split('-')[1],
                        selecionada    = true,
                    });
                }
            }
            foreach (var fm in lvProdutosRiscoAssinatura.Items)
            {
                CheckBox ch = fm.FindControl("lbCParticular") as CheckBox;
                if (ch.Checked)
                {
                    _lm33.ProdutosRiscoAssinatura.Add(new LM33_ContratoML.ProdutosRiscoA
                    {
                        familiaproduto = (fm.FindControl("lbProduto") as Label).Text,
                        prodsubproduto = (fm.FindControl("lbSubproduto") as Label).Text.Split('-')[0],
                        tipologia      = "A",
                        descritivo     = (fm.FindControl("lbSubproduto") as Label).Text.Split('-')[1],
                        selecionada    = true,
                    });
                }
            }
            foreach (var fm in lvProdutosRiscoComercial.Items)
            {
                CheckBox ch = fm.FindControl("lbCParticular") as CheckBox;
                if (ch.Checked)
                {
                    _lm33.produtosRiscoC.Add(new LM33_ContratoML.ProdutoRiscoC
                    {
                        familiaproduto = (fm.FindControl("lbProduto") as Label).Text,
                        prodsubproduto = (fm.FindControl("lbSubproduto") as Label).Text.Split('-')[0],
                        tipologia      = "A",
                        descritivo     = (fm.FindControl("lbSubproduto") as Label).Text.Split('-')[1].Replace("-", ""),
                        selecionada    = true,
                    });
                }
            }
        }
        protected void btnConfirmar_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                string op = Request.QueryString["OP"] ?? "FF";
                switch (op.ToUpper())
                {
                case "C":
                    Helper.SetEnableControler(camposChave, false);
                    Helper.AddRemoveHidden(false, dpOK);
                    Helper.SetEnableControler(dpOK, true);

                    Helper.AddRemoveHidden(false, dvtitleAcordionRFinanceiro);
                    Helper.AddRemoveHidden(false, dvtitleAcordionRAssinatura);
                    Helper.AddRemoveHidden(false, dvtitleAcordionRComercial);
                    Helper.AddRemoveHidden(false, dvtitleComissoes);
                    Helper.AddRemoveHidden(false, accoesfinais_criarml03);
                    Helper.AddRemoveHidden(false, hr3);
                    Helper.AddRemoveHidden(false, hr4);
                    Helper.AddRemoveHidden(false, divVersoesML);


                    //Call LM31 (viewState) para obtencao de produtos do produto ML introduzido! E seleccionar CP correspondentes
                    LM33_ContratoML LM33 = ViewState["LM33"] as LM33_ContratoML;

                    #region tabelas de produtos de riscos

                    //Get Produtos

                    List <ArvoreFamiliaProdutos> lstF = MultilinhasObjects.ArvoreFamiliaProdutos.SearchFamiliaProduto(Constantes.tipologiaRisco.RF);
                    listViewProdutos(lstF, Constantes.tipologiaRisco.RF, lvProdutosRisco, LM33, true);

                    List <ArvoreFamiliaProdutos> lstC = MultilinhasObjects.ArvoreFamiliaProdutos.SearchFamiliaProduto(Constantes.tipologiaRisco.RC);
                    listViewProdutos(lstC, Constantes.tipologiaRisco.RC, lvProdutosRiscoComercial, LM33, true);

                    List <ArvoreFamiliaProdutos> lstA = MultilinhasObjects.ArvoreFamiliaProdutos.SearchFamiliaProduto(Constantes.tipologiaRisco.RA);
                    listViewProdutos(lstA, Constantes.tipologiaRisco.RA, lvProdutosRiscoAssinatura, LM33, true);

                    #endregion

                    //Preenchimento do valor das comissoes do produto ML introduzido!
                    //TAT2.SearchML03(1004, "");
                    Helper.CopyObjectToControls(this.MC33C, LM33);


                    break;
                }
            }
        }
        protected void btnTratarPedido_Click(object sender, EventArgs e)
        {
            //Redirecciona para LM33 - Apenas para Aprovadores
            ListViewDataItem       pdSelected = lvhConsultaAprovacoes.Items.Where(x => (x.FindControl("cbSelected") as CheckBox).Checked).FirstOrDefault() as ListViewDataItem;
            LM32_PedidosContratoML lm32       = new LM32_PedidosContratoML();

            Helper.CopyPropertiesTo(dvAprovacoes, lm32.PedidosAprovacao[0]);

            LM33_ContratoML lm33 = new LM33_ContratoML();

            lm33.Cliente      = lm32.PedidosAprovacao[0].idcliente.ToString();
            lm33.Produtoml    = lm32.PedidosAprovacao[0].produto;
            lm33.Subprodutoml = lm32.PedidosAprovacao[0].subProduto;
            lm33.Descritivo   = lm32.PedidosAprovacao[0].descritivo;

            string urlQueries = Request.Url.Query;

            Page.Transfer(ConfigurationManager.AppSettings["ContratoML"] + urlQueries,
                          new Dictionary <string, object>()
            {
                { "Op", "V" },
                { "HAprovacao", lm33 },
            });
        }
        protected void listViewProdutos(List <ArvoreFamiliaProdutos> lstF, string tipologia, ListView lst, LM33_ContratoML LM33, bool mudaCG)
        {
            List <itemTreeProduto> _lst = new List <itemTreeProduto>();

            //Selecionar familia produtos
            IEnumerable <string> familiaprodutos = Enumerable.Empty <string>();

            if (tipologia == Constantes.tipologiaRisco.RF)
            {
                familiaprodutos = LM33.produtosRiscoF.Select(x => x.familiaproduto).Distinct();
            }
            if (tipologia == Constantes.tipologiaRisco.RA)
            {
                familiaprodutos = LM33.ProdutosRiscoAssinatura.Select(x => x.familiaproduto).Distinct();
            }
            if (tipologia == Constantes.tipologiaRisco.RC)
            {
                familiaprodutos = LM33.produtosRiscoC.Select(x => x.familiaproduto).Distinct();
            }
            //Adicionar item à lista
            foreach (var row in familiaprodutos)
            {
                itemTreeProduto item = new itemTreeProduto();

                item.produto  = row;
                item.isGeral  = true;
                item.cGEnable = mudaCG;
                item.cPEnable = false; //fecha seleccao as condicoes particulares

                _lst.Add(item);

                //Procura subprodutos da familia
                //var dtSubProdutos = lstF.FindAll(x => x.familiaProduto == row);

                //nivel 2
                for (int i = 0; i < LM33.produtosRiscoF.Count(); i++)
                {
                    itemTreeProduto subitem = new itemTreeProduto();

                    subitem.subproduto = LM33.produtosRiscoF[i].prodsubproduto.ToString() +
                                         " - " + LM33.produtosRiscoF[i].prodsubproduto.ToString(); //(codigo + descritivo)

                    subitem.isParticular = LM33.produtosRiscoF[i].selecionada;
                    subitem.isGeral      = false;
                    subitem.cGEnable     = false; //fecha seleccao as condicoes gerais
                    subitem.cPEnable     = true;  //abre seleccao as condicoes particulares

                    _lst.Add(subitem);
                }
            }

            lst.DataSource = _lst;
            lst.DataBind();
        }
        protected void btnSearchDO_Click(object sender, EventArgs e)
        {
            lberror.Text = "";
            ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;

            string op = ViewState["OPLM33"] as string;

            switch (op.ToUpper())
            {
            case "C":

                //Chamada LM33
                LM33_ContratoML lm33V = new LM33_ContratoML();
                Helper.CopyPropertiesTo(camposChave, lm33V);
                MensagemOutput <LM33_ContratoML> response = bl.LM33Request(lm33V, abargs, "C", "", true);

                //Sucesso
                if (response != null && response.ResultResult != null)
                {
                    ViewState["LM33"] = response;
                    Helper.CopyObjectToControls(this, response);
                    Helper.SetEnableControler(camposChave, false);
                    Helper.AddRemoveHidden(false, dpOK);

                    //Chamada CL55 para Get DOs Cliente
                    int ncliente;
                    Int32.TryParse(txtCliente.Text, out ncliente);
                    MensagemOutput <List <string> > trans = bl.CL55Request(ncliente, abargs);

                    if (trans.mensagem != null)
                    {
                        lberror.Text      = trans.mensagem;
                        lberror.Visible   = true;
                        lberror.ForeColor = System.Drawing.Color.Red;
                    }

                    //BIND DROPDDOWNLIST Contas DO
                    ddlncontado.DataSource = bl.CL55Request(ncliente, abargs).ResultResult.AsEnumerable();
                    ddlncontado.DataBind();
                }
                else
                {
                    lberror.Text      = TAT2.GetMsgErroTATDescription(response.erro.ToString(), abargs) == "" ? response.mensagem : TAT2.GetMsgErroTATDescription(response.erro.ToString(), abargs);
                    lberror.Visible   = true;
                    lberror.ForeColor = System.Drawing.Color.Red;
                }

                break;

            case "V":
                //Call ML03 para preencher o ecra com os dados - modo de acesso: 5,4,3 ou 8
                //Int32.TryParse(txtCliente.Text, out ncliente);
                //LM33_ContratoML M03V = TAT2.SearchML03(ncliente, txtIdworkflow.Text);
                LM33_ContratoML LM33 = new LM33_ContratoML();
                Helper.CopyPropertiesTo(camposChave, LM33);

                string acesso = "";
                LM38_HistoricoAlteracoes lm38 = ViewState["Hhistorico"] as LM38_HistoricoAlteracoes;
                LM33_ContratoML          lm33 = ViewState["Hhistorico"] as LM33_ContratoML;
                if (lm38 != null)
                {
                    acesso = "4";
                }
                else if (lm33 != null)
                {
                    acesso = "5";
                }
                else
                {
                    acesso = "";
                }
                MensagemOutput <LM33_ContratoML> respOut = bl.LM33Request(LM33, abargs, "V", acesso, true);
                if (respOut == null || respOut.ResultResult == null || respOut.ResultResult.Cliente == null)
                {
                    lberror.Text      = TAT2.GetMsgErroTATDescription(respOut.erro.ToString(), abargs) ?? respOut.erro.ToString();
                    lberror.Visible   = true;
                    lberror.ForeColor = System.Drawing.Color.Red;
                }
                else
                {
                    //Sucesso
                    Helper.CopyObjectToControls(this.Page, respOut);

                    Helper.SetEnableControler(camposChave, true);
                    Helper.AddRemoveHidden(false, dpOK);
                    Helper.SetEnableControler(dpOK, false);
                    Helper.AddRemoveHidden(false, dvtitleAcordionRFinanceiro);
                    Helper.SetEnableControler(divRiscoFinanceiro, false);
                    Helper.AddRemoveHidden(false, dvtitleAcordionRAssinatura);
                    Helper.SetEnableControler(divRiscoAssinatura, false);
                    Helper.AddRemoveHidden(false, dvtitleAcordionRComercial);
                    Helper.SetEnableControler(divRiscoComercial, false);
                    Helper.AddRemoveHidden(false, dvtitleComissoes);
                    Helper.SetEnableControler(divComissoes, false);
                    Helper.SetEnableControler(divVersoesML, false);
                    Helper.AddRemoveHidden(false, divVersoesML);
                    Helper.AddRemoveHidden(false, hr4);
                    //show fields acoes
                    Helper.AddRemoveHidden(false, accoesfinais_criarml03);
                    Helper.SetEnableControler(accoesfinais_criarml03, true);

                    #region tabelas de produtos de riscos

                    //Get Produtos
                    // e Popular CG

                    List <ArvoreFamiliaProdutos> lstF_V = MultilinhasObjects.ArvoreFamiliaProdutos.SearchFamiliaProduto(Constantes.tipologiaRisco.RF);
                    listViewProdutos(lstF_V, Constantes.tipologiaRisco.RF, lvProdutosRisco, respOut.ResultResult, false);

                    List <ArvoreFamiliaProdutos> lstC_V = MultilinhasObjects.ArvoreFamiliaProdutos.SearchFamiliaProduto(Constantes.tipologiaRisco.RC);
                    listViewProdutos(lstC_V, Constantes.tipologiaRisco.RC, lvProdutosRiscoComercial, respOut.ResultResult, false);

                    List <ArvoreFamiliaProdutos> lstA_V = MultilinhasObjects.ArvoreFamiliaProdutos.SearchFamiliaProduto(Constantes.tipologiaRisco.RA);
                    listViewProdutos(lstA_V, Constantes.tipologiaRisco.RA, lvProdutosRiscoAssinatura, respOut.ResultResult, false);

                    #endregion
                }
                break;

            case "M":
                //CALL LM33
                LM33_ContratoML LM33M = new LM33_ContratoML();
                Helper.CopyPropertiesTo(camposChave, LM33M);

                lm33 = ViewState["HAprovacao"] as LM33_ContratoML;
                if (lm33 != null)
                {
                    acesso = "5";
                }
                else
                {
                    acesso = "";
                }
                respOut = bl.LM33Request(LM33M, abargs, "M", acesso, true);

                if (respOut == null || respOut.ResultResult == null || respOut.ResultResult.Cliente == null)
                {
                    lberror.Text      = TAT2.GetMsgErroTATDescription(respOut.erro.ToString(), abargs) ?? respOut.erro.ToString();
                    lberror.Visible   = true;
                    lberror.ForeColor = System.Drawing.Color.Red;
                }
                //Sucesso
                else
                {
                    Helper.CopyObjectToControls(this.Page, respOut);

                    Helper.SetEnableControler(camposChave, false);
                    Helper.AddRemoveHidden(false, dpOK);
                    Helper.AddRemoveHidden(false, dvtitleAcordionRFinanceiro);
                    Helper.AddRemoveHidden(false, dvtitleAcordionRAssinatura);
                    Helper.AddRemoveHidden(false, dvtitleAcordionRComercial);
                    Helper.AddRemoveHidden(false, dvtitleComissoes);
                    Helper.AddRemoveHidden(false, accoesfinais_criarml03);
                    Helper.AddRemoveHidden(false, hr3);
                    Helper.AddRemoveHidden(false, hr4);
                    Helper.AddRemoveHidden(false, divVersoesML);
                    btnConfirmar.Enabled = false;


                    #region tabelas de produtos de riscos

                    //Get Produtos
                    // e Popula CG e CP . Quando seleccionado ficam enable! Não é possivel deseleccionar
                    List <ArvoreFamiliaProdutos> lstF = MultilinhasObjects.ArvoreFamiliaProdutos.SearchFamiliaProduto(Constantes.tipologiaRisco.RF);
                    listViewProdutos(lstF, Constantes.tipologiaRisco.RF, lvProdutosRisco, respOut.ResultResult, false);

                    List <ArvoreFamiliaProdutos> lstC = MultilinhasObjects.ArvoreFamiliaProdutos.SearchFamiliaProduto(Constantes.tipologiaRisco.RC);
                    listViewProdutos(lstC, Constantes.tipologiaRisco.RC, lvProdutosRiscoComercial, respOut.ResultResult, false);

                    List <ArvoreFamiliaProdutos> lstA = MultilinhasObjects.ArvoreFamiliaProdutos.SearchFamiliaProduto(Constantes.tipologiaRisco.RA);
                    listViewProdutos(lstA, Constantes.tipologiaRisco.RA, lvProdutosRiscoAssinatura, respOut.ResultResult, false);

                    #endregion
                }
                break;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                ABUtil.ABCommandArgs abargs = Session["ABCommandArgs"] as ABUtil.ABCommandArgs;
                MultilinhasDataLayer.WriteLog.Log(System.Diagnostics.TraceLevel.Info, LogTypeName.PageLoad, this.Page.AppRelativeVirtualPath, abargs.USERNT, abargs.SN_HOSTNAME);

                txtProdutoml.Text = ConfigurationManager.AppSettings["CodigoProdutoML"];
                txtproduto_TextChanged(sender, e);

                linqsComissoes();

                //dropdownlists
                ddlIndRenovacao.DataSource = ML_Objectos.GetIndicadorRenovacao();
                ddlIndRenovacao.DataBind();
                ddlPeriocidadeCobrancagestcontrato.DataSource = ML_Objectos.GetPeriocidade();
                ddlPeriocidadeCobrancagestcontrato.DataBind();
                ddlPeriocidadeCobrancagestRenovacao.DataSource = ML_Objectos.GetPeriocidade();
                ddlPeriocidadeCobrancagestRenovacao.DataBind();

                string op = Helper.getTransactionMode(Context, Request);
                ViewState["OPLM33"] = op;
                switch (op.ToUpper())
                {
                case "M":
                    lblTransactionM.CssClass = lblTransactionM.CssClass.Replace("atabD", "");
                    lblTransactionM.Enabled  = true;

                    //Esconde DIVS - Necessario carregar em OK
                    Helper.AddRemoveHidden(true, dpOK);
                    Helper.AddRemoveHidden(true, dvtitleAcordionRFinanceiro);
                    Helper.AddRemoveHidden(true, dvtitleAcordionRAssinatura);
                    Helper.AddRemoveHidden(true, dvtitleAcordionRComercial);
                    Helper.AddRemoveHidden(true, dvtitleComissoes);
                    Helper.AddRemoveHidden(true, hr3);
                    Helper.AddRemoveHidden(true, hr4);
                    Helper.AddRemoveHidden(true, divVersoesML);

                    //show fields - chaves p/ modificacao
                    btnSimulacao.Visible    = true;
                    divIDMultilinha.Visible = true;
                    divProduto.Visible      = false;
                    Helper.AddRemoveHidden(true, accoesfinais_criarml03);
                    btnModificar.Visible = true;

                    //Disables Fields - Campos a nao modificar
                    txtIdworkflow.Enabled         = false;
                    txtdatainiciocontrato.Enabled = false;
                    txtNMinutaContrato.Enabled    = false;

                    //Enable Field - Campos a modificar
                    ddlEstadoContrato.Enabled    = true;
                    ddlEstadoContrato.DataSource = LM_EstadosContrato.GetEstadoContratos_PMODIFICAO();
                    ddlEstadoContrato.DataBind();
                    ddlContratoDenunciado.Enabled = true;

                    //tabs navegacao
                    Helper.AddRemoveActive(true, liModificacao);
                    Helper.AddRemoveActive(false, liParameterizacao);
                    Helper.AddRemoveActive(false, liConsulta);
                    lblTransactionM.CssClass = lblTransactionM.CssClass.Replace("atab", "atabD");

                    //Contexto: Transação em Aprovação:


                    break;

                case "C":
                    lblTransaction.CssClass = lblTransaction.CssClass.Replace("atabD", "");
                    lblTransaction.Enabled  = true;

                    divIDSimulacao.Visible  = false;
                    divIDMultilinha.Visible = false;
                    divProduto.Visible      = true;


                    Helper.AddRemoveHidden(true, dpOK);
                    Helper.AddRemoveHidden(true, dvtitleAcordionRFinanceiro);
                    Helper.AddRemoveHidden(true, dvtitleAcordionRAssinatura);
                    Helper.AddRemoveHidden(true, dvtitleAcordionRComercial);
                    Helper.AddRemoveHidden(true, dvtitleComissoes);
                    Helper.AddRemoveHidden(true, accoesfinais_criarml03);
                    Helper.AddRemoveHidden(true, hr3);
                    Helper.AddRemoveHidden(true, hr4);
                    Helper.AddRemoveHidden(true, divVersoesML);

                    btnCriar.Visible = true;

                    Helper.AddRemoveActive(true, liParameterizacao);
                    Helper.AddRemoveActive(false, liModificacao);
                    Helper.AddRemoveActive(false, liConsulta);
                    lblTransaction.CssClass = lblTransaction.CssClass.Replace("atab", "atabD");

                    break;

                case "A":
                    lblTransactionD.Enabled = true;
                    //lblTransactionE.Enabled = true;

                    Helper.AddRemoveHidden(true, MC33C);           //hide controls criar
                    Helper.AddRemoveHidden(false, ml03V_denuncia); //Show controls visualizar
                    ml03V_denuncia.Visible = true;

                    Helper.AddRemoveActive(true, liDenuncia);
                    Helper.AddRemoveActive(false, liParameterizacao);
                    Helper.AddRemoveActive(false, liModificacao);
                    Helper.AddRemoveActive(false, liConsulta);
                    lblTransactionD.CssClass = lblTransactionD.CssClass.Replace("atab", "atabD");

                    break;

                case "V":
                    lblTransactionV.CssClass = lblTransactionV.CssClass.Replace("atabD", "");
                    lblTransactionV.Enabled  = true;

                    divIDMultilinha.Visible = true;
                    divIDSimulacao.Visible  = false;
                    divProduto.Visible      = false;


                    Helper.AddRemoveHidden(true, dpOK);
                    Helper.AddRemoveHidden(true, dvtitleAcordionRFinanceiro);
                    Helper.AddRemoveHidden(true, dvtitleAcordionRAssinatura);
                    Helper.AddRemoveHidden(true, dvtitleAcordionRComercial);
                    Helper.AddRemoveHidden(true, dvtitleComissoes);
                    Helper.AddRemoveHidden(true, accoesfinais_criarml03);
                    Helper.AddRemoveHidden(true, hr3);
                    Helper.AddRemoveHidden(true, hr4);
                    Helper.AddRemoveHidden(true, divVersoesML);
                    Helper.AddRemoveActive(true, liConsulta);
                    Helper.AddRemoveActive(false, liModificacao);
                    Helper.AddRemoveActive(false, liParameterizacao);
                    lblTransactionV.CssClass = lblTransactionV.CssClass.Replace("atab", "atabD");

                    //Contexto Visualização - Proveniente do Historico
                    LM38_HistoricoAlteracoes lm38 = Context.Items["Hhistorico"] as LM38_HistoricoAlteracoes;
                    if (lm38 != null && lm38.idmultilinha != null)
                    {
                        ViewState["Hhistorico"] = lm38;
                        Helper.CopyObjectToControls(this, lm38);
                        Control ctr = this.FindControl(Helper.getControltoHighLight(lm38.HistoricoAlteracoes[0].Alteracao));
                        Helper.AddHightLight(ctr, true);

                        Helper.SetEnableControler(camposChave, false);
                    }

                    //Contexto Visualização - Proveniente da Aprovação
                    LM33_ContratoML LM33 = Context.Items["HAprovacao"] as LM33_ContratoML;
                    if (LM33 != null && LM33.Cliente != null)
                    {
                        ViewState["HAprovacao"] = LM33;
                        Helper.CopyObjectToControls(camposChave, LM33);
                        txtCliente_TextChanged(sender, e);

                        Helper.SetEnableControler(camposChave, false);
                    }

                    break;

                default:
                    lberror.Text    = "Página sem contexto. Execute a transação na Aplicação Bancária";
                    lberror.Visible = true;

                    Helper.AddRemoveHidden(true, dpOK);
                    Helper.AddRemoveHidden(true, dvtitleAcordionRFinanceiro);
                    Helper.AddRemoveHidden(true, dvtitleAcordionRAssinatura);
                    Helper.AddRemoveHidden(true, dvtitleAcordionRComercial);
                    Helper.AddRemoveHidden(true, dvtitleComissoes);
                    Helper.AddRemoveHidden(true, accoesfinais_criarml03);
                    Helper.AddRemoveHidden(true, hr3);
                    Helper.AddRemoveHidden(true, hr4);
                    btnSearch.Enabled = false;

                    break;
                }
            }
        }
Example #8
0
        public BCDWSProxy.LM33Transaction LM33Request(ABUtil.ABCommandArgs AbArgs, LM33_ContratoML _lm33, string accao, string acesso, bool pedido)
        {
            BCDWSProxy.LM33Transaction response = new BCDWSProxy.LM33Transaction();

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

            LM33.input              = new BCDWSProxy.LM33Input();
            LM33.input.caccao       = accao;
            LM33.input.pedido_dados = pedido;
            LM33.input.acesso       = acesso;
            LM33.input.cbalcaoml    = string.IsNullOrEmpty(_lm33.idmultilinha) ? "" : _lm33.idmultilinha.ToString().Substring(0, 3);
            LM33.input.cprodutoml   = _lm33.Produtoml;
            LM33.input.cnumectaml   = string.IsNullOrEmpty(_lm33.idmultilinha) ? "" : _lm33.idmultilinha.ToString().Substring(5, 6);
            LM33.input.cdigictaml   = string.IsNullOrEmpty(_lm33.idmultilinha) ? "" : _lm33.idmultilinha.ToString().Substring(11, 1);
            LM33.input.ccontado     = _lm33.ncontado;
            LM33.input.csubprodml   = _lm33.Subprodutoml;
            LM33.input.dtfimcont    = _lm33.datafimcontrato.ToString("yyyy-MM-dd");
            LM33.input.dtinicont    = _lm33.datainiciocontrato.ToString("yyyy-MM-dd");
            LM33.input.dtprocess    = _lm33.dataProcessamento.ToString("yyyy-MM-dd");
            LM33.input.dproxgest    = _lm33.dataproximacobrancagestcontrato.ToString("yyyy-MM-dd");
            LM33.input.dproxrenov   = _lm33.dataproximacobrancagestrenovacao.ToString("yyyy-MM-dd");
            LM33.input.dtrenov      = _lm33.datarenovacao.ToString("yyyy-MM-dd");
            LM33.input.iestadoc     = _lm33.EstadoContrato != null?ML_Objectos.GetEstadosDoCatalogo().FirstOrDefault(x => x.Description.ToUpper() == _lm33.EstadoContrato.ToUpper()).Code : "";

            LM33.input.qgrau       = _lm33.graumorosidade.ToString();
            LM33.input.irenovac    = _lm33.IndRenovacao == true ? "S" : "N";
            LM33.input.idwf        = _lm33.idproposta;
            LM33.input.idenuncia   = _lm33.indicadorAcaoCancelamento == true ? "S" : "N";
            LM33.input.ienviocarta = _lm33.indicadorAcaoEnvioCartas == true ? "S" : "N";
            LM33.input.mlimglobal  = _lm33.limiteglobalmultilinha;
            LM33.input.mlimassin   = _lm33.sublimiteriscoAssinatura;
            LM33.input.mlimcomer   = _lm33.sublimitriscoComercial;
            LM33.input.mlimfinan   = _lm33.sublimiteriscoFinanceiro;
            LM33.input.qdiapaviso  = _lm33.NDiasPreAviso;
            LM33.input.qdiasincum  = _lm33.NDiasIncumprimento;
            LM33.input.zversao     = _lm33.NMinutaContrato;
            LM33.input.qperigest   = Convert.ToInt64(_lm33.PeriocidadeCobrancagestcontrato);
            LM33.input.qperirenov  = Convert.ToInt64(_lm33.PeriocidadeCobrancagestRenovacao);
            LM33.input.qprzcont    = _lm33.prazocontrato;
            LM33.input.qprzrenov   = _lm33.PrazoRenovacao;
            //LM33.input.tplriscass = _lm33.tipologiaRiscoA;
            //LM33.input.tplrisccom = _lm33.tipologiaRiscoC;
            //LM33.input.tplriscfin = _lm33.tipologiaRiscoF;
            LM33.input.comissabe   = _lm33.comissaoabertura;
            LM33.input.comissgct   = _lm33.comissaogestaocontrato;
            LM33.input.comissren   = _lm33.comissaorenovacao;
            LM33.input.vicomissabe = _lm33.valorimpostocomabert;
            LM33.input.vicomissgct = _lm33.valorimpostocomgestcontrato;
            LM33.input.vicomissren = _lm33.valorimpostocomgestrenovacao;
            LM33.input.zcliente    = _lm33.Cliente.ToString();
            LM33.input.bicomissabe = _lm33.baseincidenciacomabert;
            LM33.input.bicomissgct = _lm33.baseincidenciacomgestcontrato;
            LM33.input.bicomissren = _lm33.baseincidenciacomgestrenovacao;
            LM33.input.qminprod    = _lm33.NumeroMinimoProdutos;


            List <BCDWSProxy.LM33Row1> lstRow1 = new List <BCDWSProxy.LM33Row1>();


            foreach (var f in _lm33.produtosRiscoF)
            {
                BCDWSProxy.LM33Row1 _row1 = new BCDWSProxy.LM33Row1();

                _row1.l_cproduto_l   = f.prodsubproduto.Substring(0, 2);
                _row1.l_irisco_l     = f.tipologia;
                _row1.l_cfamprod_l   = f.familiaproduto;
                _row1.l_csubprod_l   = f.prodsubproduto.Substring(2, 2);
                _row1.l_iseleciona_l = f.selecionada == true? "S" : "N";
            }

            foreach (var a in _lm33.ProdutosRiscoAssinatura)
            {
                BCDWSProxy.LM33Row1 _row1 = new BCDWSProxy.LM33Row1();

                _row1.l_cproduto_l   = a.prodsubproduto.Substring(0, 2);
                _row1.l_irisco_l     = a.tipologia;
                _row1.l_cfamprod_l   = a.familiaproduto;
                _row1.l_csubprod_l   = a.prodsubproduto.Substring(2, 2);
                _row1.l_iseleciona_l = a.selecionada == true ? "S" : "N";
            }

            foreach (var c in _lm33.produtosRiscoC)
            {
                BCDWSProxy.LM33Row1 _row1 = new BCDWSProxy.LM33Row1();

                _row1.l_cproduto_l   = c.prodsubproduto.Substring(0, 2);
                _row1.l_irisco_l     = c.tipologia;
                _row1.l_cfamprod_l   = c.familiaproduto;
                _row1.l_csubprod_l   = c.prodsubproduto.Substring(2, 2);
                _row1.l_iseleciona_l = c.selecionada == true ? "S" : "N";
            }

            LM33.input.Row1 = lstRow1.ToArray();
            BCDWSProxy.BarclaysBTSSoapClient client = new BCDWSProxy.BarclaysBTSSoapClient();
            bool bRetry = false;

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

                    response = client.LM33CONTRATOML(LM33.BarclaysBankAccountSettings, LM33.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);
        }
Example #9
0
        public MensagemOutput <LM33_ContratoML> LM33Request(LM33_ContratoML _lm33, ABUtil.ABCommandArgs abargs, string accao, string acesso, bool pedido)
        {
            MensagemOutput <LM33_ContratoML> msgOut = new MensagemOutput <LM33_ContratoML>();

            MultilinhasDataLayer.BCDWSProxy.LM33Transaction response = dl.LM33Request(abargs, _lm33, accao, acesso, pedido);

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


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

                obj.baseincidenciacomabert         = response.output.bicomissabe;
                obj.baseincidenciacomgestcontrato  = response.output.bicomissgct;
                obj.baseincidenciacomgestrenovacao = response.output.bicomissren;
                obj.Cliente                = response.output.zcliente;
                obj.comissaoabertura       = response.output.comissabe;
                obj.comissaogestaocontrato = response.output.comissgct;
                obj.comissaorenovacao      = response.output.comissren;

                DateTime dtfimcont;
                DateTime.TryParseExact(response.output.dtfimcont, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dtfimcont);
                obj.datafimcontrato = dtfimcont;

                DateTime dtinicont;
                DateTime.TryParseExact(response.output.dtinicont, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dtinicont);
                obj.datainiciocontrato = dtinicont;

                DateTime dtprocess;
                DateTime.TryParseExact(response.output.dtprocess, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dtprocess);
                obj.dataProcessamento = dtprocess;

                DateTime dproxgest;
                DateTime.TryParseExact(response.output.dproxgest, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dproxgest);
                obj.dataproximacobrancagestcontrato = dproxgest;

                DateTime dproxrenov;
                DateTime.TryParseExact(response.output.dproxrenov, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dproxrenov);
                obj.dataproximacobrancagestrenovacao = dproxrenov;

                DateTime dtrenov;
                DateTime.TryParseExact(response.output.dtrenov, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dtrenov);
                obj.datarenovacao = dtrenov;

                //obj.Descritivo = response.output.su
                obj.EstadoContrato            = response.output.iestadoc;
                obj.graumorosidade            = Convert.ToInt32(response.output.qgrau);
                obj.idmultilinha              = response.output.idwf;
                obj.IndRenovacao              = response.output.irenovac == "S" ? true : false;
                obj.indicadorAcaoCancelamento = response.output.idenuncia == "S" ? true : false;
                obj.indicadorAcaoEnvioCartas  = response.output.ienviocarta == "S" ? true : false;
                obj.limiteglobalmultilinha    = response.output.mlimglobal;
                obj.ncontado           = response.output.ccontado;
                obj.NDiasIncumprimento = Convert.ToInt32(response.output.qdiasincum);
                obj.NDiasPreAviso      = Convert.ToInt32(response.output.qdiapaviso);
                obj.NMinutaContrato    = Convert.ToInt32(response.output.zversao);
                //obj.Nome = response.output.n
                obj.NumeroMinimoProdutos             = Convert.ToInt32(response.output.qminprod);
                obj.PeriocidadeCobrancagestcontrato  = response.output.qperigest.ToString();
                obj.PeriocidadeCobrancagestRenovacao = response.output.qperirenov.ToString();
                obj.prazocontrato            = Convert.ToInt32(response.output.qprzcont);
                obj.PrazoRenovacao           = Convert.ToInt32(response.output.qprzrenov);
                obj.Produtoml                = response.output.cprodutoml;
                obj.sublimiteriscoAssinatura = response.output.mlimassin;
                obj.sublimiteriscoFinanceiro = response.output.mlimfinan;
                obj.sublimitriscoComercial   = response.output.mlimcomer;
                obj.Subprodutoml             = response.output.cprodutoml;
                //obj.tipologiaRiscoA = response.output.tplriscass;
                //obj.tipologiaRiscoC = response.output.tplrisccom;
                //obj.tipologiaRiscoF = response.output.tplriscfin;
                obj.valorimpostocomabert         = response.output.vicomissabe;
                obj.valorimpostocomgestcontrato  = response.output.vicomissgct;
                obj.valorimpostocomgestrenovacao = response.output.vicomissren;

                obj.ProdutosRiscoAssinatura = new List <LM33_ContratoML.ProdutosRiscoA>();
                obj.produtosRiscoC          = new List <LM33_ContratoML.ProdutoRiscoC>();
                obj.produtosRiscoF          = new List <LM33_ContratoML.ProdutoRiscoF>();

                //listas
                foreach (var a in response.row1)
                {
                    if (a.l_cfamprod_l != null && a.l_cproduto_l != "")
                    {
                        obj.ProdutosRiscoAssinatura.Add(new LM33_ContratoML.ProdutosRiscoA
                        {
                            descritivo     = a.l_csubprod_l, //TO DO ir a tat buscar descritivo
                            familiaproduto = a.l_cfamprod_l,
                            prodsubproduto = string.Concat(a.l_cproduto_l, a.l_csubprod_l),
                            tipologia      = a.l_irisco_l,
                            selecionada    = a.l_iseleciona_l == "S",
                            //zSeq =
                        });
                    }
                    if (a.l_cfamprod_l != null && a.l_cproduto_l != "")
                    {
                        obj.produtosRiscoF.Add(new LM33_ContratoML.ProdutoRiscoF
                        {
                            descritivo     = a.l_csubprod_l, //TO DO ir a tat buscar descritivo
                            familiaproduto = a.l_cfamprod_l,
                            prodsubproduto = string.Concat(a.l_cproduto_l, a.l_csubprod_l),
                            tipologia      = a.l_irisco_l,
                            selecionada    = a.l_iseleciona_l == "S",
                            //zSeq =
                        });
                    }
                    if (a.l_cfamprod_l != null && a.l_cproduto_l != "")
                    {
                        obj.produtosRiscoC.Add(new LM33_ContratoML.ProdutoRiscoC
                        {
                            descritivo     = a.l_csubprod_l, //TO DO ir a tat buscar descritivo
                            familiaproduto = a.l_cfamprod_l,
                            prodsubproduto = string.Concat(a.l_cproduto_l, a.l_csubprod_l),
                            tipologia      = a.l_irisco_l,
                            selecionada    = a.l_iseleciona_l == "S",
                            //zSeq =
                        });
                    }
                }

                msgOut.ResultResult = obj;
            }

            return(msgOut);
        }