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 listViewProdutos(List <ArvoreFamiliaProdutos> lstF, string tipologia, ListView lst, LM31_CatalogoProdutoML LM31, bool mudaCG)
        {
            List <itemTreeProduto> _lst = new List <itemTreeProduto>();

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

            if (tipologia == Constantes.tipologiaRisco.RF)
            {
                if (LM31.produtosF != null && LM31.produtosF.Count > 0)
                {
                    familiaprodutos = LM31.produtosF.Select(x => x.familia).Distinct();
                }
            }
            if (tipologia == Constantes.tipologiaRisco.RA)
            {
                if (LM31.produtosA != null && LM31.produtosA.Count > 0)
                {
                    familiaprodutos = LM31.produtosA.Select(x => x.familia).Distinct();
                }
            }
            if (tipologia == Constantes.tipologiaRisco.RC)
            {
                if (LM31.produtosC != null && LM31.produtosC.Count > 0)
                {
                    familiaprodutos = LM31.produtosC.Select(x => x.familia).Distinct();
                }
            }
            //Adicionar item à lista
            foreach (var row in familiaprodutos)
            {
                itemTreeProduto item = new itemTreeProduto();

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

                _lst.Add(item);

                //Procura subprodutos da familia
                var dtSubProdutos = LM31.produtosA.FindAll(x => x.familia == row);
                if (dtSubProdutos.Count < 1)
                {
                    dtSubProdutos = LM31.produtosF.FindAll(x => x.familia == row);
                }
                if (dtSubProdutos.Count < 1)
                {
                    dtSubProdutos = LM31.produtosC.FindAll(x => x.familia == row);
                }

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

                    subitem.subproduto = dtSubProdutos[i].produto.ToString() + dtSubProdutos[i].subproduto.ToString() +
                                         " - " + dtSubProdutos[i].descritivo.ToString(); //(codigo + descritivo)

                    subitem.isParticular = false;
                    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();
        }