protected void ddlTrilhaNivel_OnSelectedIndexChanged(object sender, EventArgs e)
        {
            if (ddlTrilha.SelectedIndex <= 0 || ddlTrilhaNivel.SelectedIndex <= 0)
            {
                return;
            }

            int idTrilha = int.Parse(ddlTrilha.SelectedValue), idTrilhaNivel = int.Parse(ddlTrilhaNivel.SelectedValue);

            var viewTrilhaFiltro = new ViewTrilha
            {
                TrilhaOrigem      = idTrilha == 0 ? null : (new BMTrilha()).ObterPorId(idTrilha),
                TrilhaNivelOrigem = idTrilhaNivel == 0 ? null : (new BMTrilhaNivel()).ObterPorID(idTrilhaNivel),
            };

            var lstView =
                new BMViewTrilha().ObterViewTrilhaPorFiltro(viewTrilhaFiltro)
                .OrderBy(x => x.TrilhaOrigem.ID)
                .ThenBy(x => x.TrilhaNivelOrigem.ID)
                .ThenBy(x => x.TopicoTematico.ID);

            var lstviewTopicos =
                lstView.Where(
                    x =>
                    x.TrilhaOrigem.ID == idTrilha && x.TrilhaNivelOrigem.ID == idTrilhaNivel &&
                    x.UsuarioOrigem == null).Select(x => x.TopicoTematico).Distinct();

            var listaTopicos =
                lstviewTopicos.Select(x => new TrilhaTopicoTematico {
                ID = x.ID, Nome = x.NomeExibicao
            });

            WebFormHelper.PreencherLista(listaTopicos.ToList(), ddlTopicoTematico, true);
        }
        public IList <TrilhaTopicoTematico> ObterTopicosTematicosPorTrilhaNivel(int idTrilha, int idTrilhaNivel)
        {
            viewTrilha = new BMViewTrilha();

            Trilha trilha = new Trilha()
            {
                ID = idTrilha
            };
            TrilhaNivel trilhaNivel = new TrilhaNivel()
            {
                ID = idTrilhaNivel
            };

            return(viewTrilha.ObterTopicosTematicos(trilha, trilhaNivel));
        }
        public IList <ItemTrilhaAutoIndicativaDTO> BuscarSolucoesEducacionaisAutoIndicativas(int pIdUsuario, int pIdTrilhaNivel, int pIdTopicoTematico)
        {
            _viewTrilhaBm = new BMViewTrilha();
            var viewTrilha = new ViewTrilha();

            if (pIdTrilhaNivel != 0)
            {
                viewTrilha.TrilhaNivelOrigem = new TrilhaNivel()
                {
                    ID = pIdTrilhaNivel
                }
            }
            ;

            if (pIdTopicoTematico != 0)
            {
                viewTrilha.TopicoTematico = new TrilhaTopicoTematico()
                {
                    ID = pIdTopicoTematico
                }
            }
            ;

            IList <ViewTrilha> lstViewTrilha         = _viewTrilhaBm.ObterViewTrilhaPorFiltro(viewTrilha).ToList <ViewTrilha>();
            IList <ItemTrilha> lstItemTrilhaPendente = lstViewTrilha.Where(p => p.Aprovado == enumStatusSolucaoEducacionalSugerida.Pendente && p.UsuarioOrigem != null && p.UsuarioOrigem.ID == pIdUsuario).Select(x => x.ItemTrilha).Distinct().ToList();
            IList <ItemTrilha> lstItemTrilha         = lstViewTrilha.Where(p => p.Aprovado == enumStatusSolucaoEducacionalSugerida.Aprovado && p.UsuarioOrigem != null).Select(x => x.ItemTrilha).Distinct().ToList();

            IList <ItemTrilhaAutoIndicativaDTO> listaItemResult = new List <ItemTrilhaAutoIndicativaDTO>();

            if (lstItemTrilhaPendente.Any())
            {
                foreach (var registro in lstItemTrilhaPendente.Select(item => PreencheItemTrilhaAutoIndicativaDto(item, pIdUsuario)))
                {
                    listaItemResult.Add(registro);
                }
            }
            if (lstItemTrilha.Any())
            {
                foreach (var registro in lstItemTrilha.Select(item => PreencheItemTrilhaAutoIndicativaDto(item, pIdUsuario)))
                {
                    listaItemResult.Add(registro);
                }
            }
            return(listaItemResult);
        }
 public IList <ItemTrilha> ObterItemsTrilha(ViewTrilha filtro)
 {
     viewTrilha = new BMViewTrilha();
     return(viewTrilha.ObterItemsTrilha(filtro));
 }
 public IList <TrilhaNivel> ObterTrilhasNivelPorTrilha(Trilha trilha)
 {
     viewTrilha = new BMViewTrilha();
     return(viewTrilha.ObterTrilhasNivelPorTrilha(trilha));
 }
 public IList <Trilha> ObterTrilhas()
 {
     viewTrilha = new BMViewTrilha();
     return(viewTrilha.ObterTrilhas());
 }