Beispiel #1
0
 public void PreencherUfsCategoria(CategoriaConteudo categoria)
 {
     foreach (ListItem item in chkUF.Items)
     {
         item.Selected = categoria.ListaCategoriaConteudoUF.Any(c => c.UF.ID == int.Parse(item.Value));
     }
 }
Beispiel #2
0
        public override bool Equals(object obj)
        {
            CategoriaConteudoTags objeto = obj as CategoriaConteudoTags;

            return(objeto == null ? false : CategoriaConteudo.Equals(objeto.CategoriaConteudo) &&
                   Tag.Equals(objeto.Tag));
        }
        public IList <StatusMatricula> ObterStatusMatriculaPorCategoriaConteudo(CategoriaConteudo categoriaConteudo)
        {
            if (categoriaConteudo == null)
            {
                return(ObterTodos());
            }

            if (categoriaConteudo.PossuiFiltroCategorias)
            {
                return
                    (repositorio.session.Query <StatusMatricula>()
                     .Where(
                         s =>
                         s.ListaCategoriaConteudo.Any(c => c.ID == categoriaConteudo.ID))
                     .OrderBy(s => s.Nome)
                     .ToList());
            }

            if (categoriaConteudo.CategoriaConteudoPai != null)
            {
                return(ObterStatusMatriculaPorCategoriaConteudo(categoriaConteudo.CategoriaConteudoPai));
            }

            return(ObterTodos());
        }
Beispiel #4
0
        private void PreencherHierarquia(CategoriaConteudo pai, TreeNode nodePai, bool radio, bool postback, IList <int> selecionados, Uf uf = null)
        {
            nodePai.Value = pai.ID.ToString();

            nodePai.Text = pai.Nome;

            if (radio)
            {
                AlterarNodeParaRadio(pai, nodePai, postback, selecionados);
            }

            if (selecionados != null)
            {
                nodePai.Checked = selecionados.Any(x => x == pai.ID);
            }

            nodePai.SelectAction = TreeNodeSelectAction.None;

            if (selecionados != null)
            {
                nodePai.Checked = selecionados.Any(x => x == pai.ID);
            }

            // Nacionaliza ou não a lista de filhos.
            var listaFilhos = uf == null
                ? pai.ListaCategoriaConteudoFilhos
                : pai.ListaCategoriaConteudoFilhos.Where(
                c => c.ListaCategoriaConteudoUF.Any(u => u.UF.ID == uf.ID));

            foreach (var filho in listaFilhos)
            {
                var nodeFilho = new TreeNode
                {
                    Value = filho.ID.ToString(),
                    Text  = filho.Nome
                };

                if (selecionados != null)
                {
                    nodeFilho.Checked = selecionados.Any(x => x == filho.ID);
                }

                if (radio)
                {
                    AlterarNodeParaRadio(filho, nodeFilho, postback, selecionados);
                }

                if (selecionados != null)
                {
                    nodeFilho.Checked = selecionados.Any(x => x == filho.ID);
                }

                PreencherHierarquia(filho, nodeFilho, radio, postback, selecionados, uf);

                nodeFilho.SelectAction = TreeNodeSelectAction.None;

                nodePai.ChildNodes.Add(nodeFilho);
            }
        }
Beispiel #5
0
 private void AlterarNodeParaRadio(CategoriaConteudo categoria, TreeNode node, bool postback, IList <int> selecionados)
 {
     node.ShowCheckBox = false;
     node.Text         = "<input " + (postback ? "class='mostrarload'" : "") + " type='radio' name='" + trvCategorias.ClientID + "_rbCategoriaConteudo' value ='" +
                         categoria.ID + "' " +
                         (selecionados != null && selecionados.Any(x => x == categoria.ID) ? "checked='checked'" : "") +
                         "/>" + categoria.Nome;
 }
        /// <summary>
        /// Obtém a maior categoria pai que possua filtro de Satus ou a própria categoria, caso não possua pai.
        /// </summary>
        /// <param name="categoriaConteudo"></param>
        /// <returns></returns>
        public CategoriaConteudo ObterMaiorCategoriaComFiltroCategoria(CategoriaConteudo categoriaConteudo)
        {
            var pais = ObterPais(categoriaConteudo);

            // Como foi implementado, a primeira categoria da lista ObterPais() sempre será o maior pai.
            var maiorPai = pais.FirstOrDefault(x => x.PossuiFiltroCategorias);

            return(maiorPai ?? categoriaConteudo);
        }
Beispiel #7
0
        public bool IsFormacaoDeFormadores(CategoriaConteudo categoria)
        {
            int id;

            if (int.TryParse(new ManterConfiguracaoSistema().ObterConfiguracaoSistemaPorID((int)enumConfiguracaoSistema.IdFormacaoDeFormadores).Registro, out id))
            {
                return(ObterCategoriaConteudoPorID(id).ObterFilhos().Select(x => x.ID).Contains(categoria.ID));
            }

            throw new AcademicoException("ID da Formação de Formadores não informada nas configurações do sistema");
        }
Beispiel #8
0
        public bool AlterouCategoria(int idSolucaoEducacional, CategoriaConteudo novaCategoria)
        {
            var solucao = repositorio.session.Query <SolucaoEducacional>().First(s => s.ID == idSolucaoEducacional);

            if (solucao.CategoriaConteudo == null)
            {
                return(novaCategoria != null);
            }

            return(novaCategoria == null || solucao.CategoriaConteudo.ID != novaCategoria.ID);
        }
Beispiel #9
0
        public IQueryable <Questionario> ObterQuestionariosAbandono(CategoriaConteudo categoria = null)
        {
            var query = repositorio.session.Query <Questionario>()
                        .Where(x => x.TipoQuestionario.ID == (int)enumTipoQuestionario.Abandono);

            if (categoria != null)
            {
                query = query.Where(x => x.ListaCategoriaConteudo.Select(c => c.ID).Contains(categoria.ID));
            }

            return(query);
        }
Beispiel #10
0
        public IList <CategoriaConteudo> ObterCategoriaConteudoPorFiltro(CategoriaConteudo pCategoriaConteudo)
        {
            IList <CategoriaConteudo> listaCategoriaConteudo = null;

            try
            {
                listaCategoriaConteudo = bmCategoriaConteudo.ObterPorFiltro(pCategoriaConteudo);
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }

            return(listaCategoriaConteudo);
        }
Beispiel #11
0
        public CategoriaConteudo ObterCategoriaConteudoPorID(int pId)
        {
            CategoriaConteudo CategoriaConteudo = null;

            try
            {
                CategoriaConteudo = bmCategoriaConteudo.ObterPorID(pId);
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }

            return(CategoriaConteudo);
        }
        private void ValidarCategoriaConteudoInformada(CategoriaConteudo pCategoriaConteudo)
        {
            ValidarInstancia(pCategoriaConteudo);

            if (string.IsNullOrWhiteSpace(pCategoriaConteudo.Nome))
            {
                throw new AcademicoException("Nome. Campo Obrigatório");
            }

            if (pCategoriaConteudo.PossuiFiltroCategorias &&
                (pCategoriaConteudo.ListaStatusMatricula == null || !pCategoriaConteudo.ListaStatusMatricula.Any()))
            {
                throw new AcademicoException(
                          "Pelo menos 1 status precisa ser informado caso a opção \"Possui Status relacionados?\" esteja selecionada.");
            }
        }
        private IList <CategoriaConteudo> ObterPais(CategoriaConteudo categoriaConteudo)
        {
            var retorno = new List <CategoriaConteudo>();

            if (categoriaConteudo.CategoriaConteudoPai != null)
            {
                retorno.AddRange(ObterPais(categoriaConteudo.CategoriaConteudoPai));
                retorno.Add(categoriaConteudo);
            }
            else
            {
                retorno.Add(categoriaConteudo);
            }

            return(retorno.Distinct().ToList());
        }
        public IList <CategoriaConteudo> ObterPorFiltro(CategoriaConteudo pCategoriaConteudo)
        {
            var query = repositorio.session.Query <CategoriaConteudo>();

            if (pCategoriaConteudo != null)
            {
                if (!string.IsNullOrWhiteSpace(pCategoriaConteudo.Nome))
                {
                    query = query.Where(x => x.Nome.Contains(pCategoriaConteudo.Nome));
                }
            }

            return(query.Select(x => new CategoriaConteudo()
            {
                ID = x.ID, Nome = x.Nome
            }).ToList <CategoriaConteudo>());
        }
Beispiel #15
0
        public void AtualizarSiglaSubCategorias(CategoriaConteudo pCategoriaConteudo)
        {
            if (pCategoriaConteudo.CategoriaConteudoPai != null)
            {
                return;
            }
            if (!pCategoriaConteudo.ListaCategoriaConteudoFilhos.Any())
            {
                return;
            }
            foreach (var item in pCategoriaConteudo.ListaCategoriaConteudoFilhos)
            {
                item.Sigla = pCategoriaConteudo.Sigla;

                AlterarCategoriaConteudo(item);
            }
        }
        public void Incluir(CategoriaConteudo pCategoriaConteudo)
        {
            ValidarCategoriaConteudoInformada(pCategoriaConteudo);

            //Verifica se a solução educacional já existe
            bool existeRegistroCadastrado = false;// this.VerificarExistenciaDaSolucaoEducacional(pCategoriaConteudo.Nome);

            if (existeRegistroCadastrado)
            {
                throw new AcademicoException(string.Format("A Categoria {0} já existe",
                                                           pCategoriaConteudo.Nome));
            }

            //pCategoriaConteudo.DataAlteracao = DateTime.Now;

            repositorio.Salvar(pCategoriaConteudo);
        }
Beispiel #17
0
        static string CategoriaPai(CategoriaConteudo categoria)
        {
            if (categoria == null)
            {
                return("");
            }
            if (categoria.CategoriaConteudoPai == null)
            {
                return(categoria.Nome);
            }
            var ca        = categoria.CategoriaConteudoPai;
            var resultado = categoria.Nome;

            while (ca != null)
            {
                resultado = ca.Nome;
                ca        = ca.CategoriaConteudoPai;
            }
            return(resultado);
        }
Beispiel #18
0
        public int?ObterProximoCodigoSequencial(CategoriaConteudo categoria)
        {
            if (categoria == null)
            {
                return(null);
            }

            var max = repositorio.session.Query <SolucaoEducacional>()
                      .Where(x => x.CategoriaConteudo.ID == categoria.ID)
                      .Max(x => x.Sequencia);

            if (max.HasValue)
            {
                return(max.Value + 1);
            }
            else
            {
                return(1);
            }
        }
        public void Excluir(CategoriaConteudo pCategoriaConteudo)
        {
            var termoAceite = new BMTermoAceite().ObterPorCategoriaConteudo(pCategoriaConteudo.ID);

            if (termoAceite != null)
            {
                throw new AcademicoException("Exclusão de registro negada. Existe um termo de aceite vinculado a categoria conteúdo.");
            }

            if (this.ValidarDependencias(pCategoriaConteudo))
            {
                throw new AcademicoException("Exclusão de registro negada. Existem Registros Dependentes desta Categoria de Solução Educacional.");
            }

            if (pCategoriaConteudo.TermoAceiteCategoriaCounteudo != null)
            {
                new BMTermoAceite().ExcluirTermoAceiteCategoriaConteudo(pCategoriaConteudo.TermoAceiteCategoriaCounteudo.ID);
            }

            repositorio.Excluir(pCategoriaConteudo);
        }
Beispiel #20
0
        public void AlterarCategoriaConteudo(CategoriaConteudo pCategoriaConteudo)
        {
            try
            {
                base.PreencherInformacoesDeAuditoria(pCategoriaConteudo);
                bmCategoriaConteudo.Alterar(pCategoriaConteudo);

                AtualizarSiglaSubCategorias(pCategoriaConteudo);
            }
            catch (AlertException ex)
            {
                throw ex;
            }
            catch (AcademicoException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }
        }
Beispiel #21
0
        public void ExcluirCategoriaConteudo(int IdCategoriaConteudo)
        {
            try
            {
                CategoriaConteudo CategoriaConteudo = null;

                if (IdCategoriaConteudo > 0)
                {
                    CategoriaConteudo = bmCategoriaConteudo.ObterPorID(IdCategoriaConteudo);
                }

                bmCategoriaConteudo.Excluir(CategoriaConteudo);
            }
            catch (AcademicoException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }
        }
        protected override bool ValidarDependencias(object pCategoriaConteudo)
        {
            CategoriaConteudo CategoriaConteudo = (CategoriaConteudo)pCategoriaConteudo;

            return(CategoriaConteudo.ListaSolucaoEducacional != null && CategoriaConteudo.ListaSolucaoEducacional.Count > 0);
        }
Beispiel #23
0
        private string PrepararEntradaDeDadosParaOServicoDrupal(CategoriaConteudo registro)
        {
            IList <CategoriaConteudoPermissao> ListaSolucaoEducacionalPermissao = registro.ListaPermissao;
            IList <CategoriaConteudoTags>      ListaSolucaoEducacionalTags      = registro.ListaTags;

            StringBuilder sbTodasTaxonomias                = new StringBuilder();
            StringBuilder sbTaxonomiaListaUF               = new StringBuilder();
            StringBuilder sbTaxonomiaListaPerfil           = new StringBuilder();
            StringBuilder sbTaxonomiaListaNivelOcupacional = new StringBuilder();
            StringBuilder sbTaxonomiaListaTag              = new StringBuilder();

            sbTaxonomiaListaUF.Append("ListaUF,");
            sbTaxonomiaListaPerfil.Append(";ListaPerfil,");
            sbTaxonomiaListaNivelOcupacional.Append(";ListaNivelOcupacional,");
            sbTaxonomiaListaTag.Append(";ListaTag,");

            bool temUf               = false;
            bool temPerfil           = false;
            bool temTag              = false;
            bool temNivelOcupacional = false;

            /* Percorre a Lista de Soluções Educacionais para acrescentar estas Soluções Educacionais à lista de
             * taxonomias */
            foreach (CategoriaConteudoPermissao itemPermissao in ListaSolucaoEducacionalPermissao)
            {
                if (itemPermissao.Uf != null && itemPermissao.Uf.ID > 0)
                {
                    sbTaxonomiaListaUF.Append(string.Concat(itemPermissao.Uf.ID, ","));
                    temUf = true;
                }
                else if (itemPermissao.Perfil != null && itemPermissao.Perfil.ID > 0)
                {
                    sbTaxonomiaListaPerfil.Append(string.Concat(itemPermissao.Perfil.ID, ","));
                    temPerfil = true;
                }
                else if (itemPermissao.NivelOcupacional != null && itemPermissao.NivelOcupacional.ID > 0)
                {
                    sbTaxonomiaListaNivelOcupacional.Append(string.Concat(itemPermissao.NivelOcupacional.ID, ","));
                    temNivelOcupacional = true;
                }
            }

            if (temUf)
            {
                string taxonomiaListaUF = sbTaxonomiaListaUF.ToString();

                if (taxonomiaListaUF.EndsWith(","))
                {
                    taxonomiaListaUF = taxonomiaListaUF.Remove(taxonomiaListaUF.Length - 1, 1);
                }

                sbTodasTaxonomias.Append(taxonomiaListaUF);
            }

            if (temPerfil)
            {
                string taxonomiaListaPerfil = sbTaxonomiaListaPerfil.ToString();

                if (taxonomiaListaPerfil.EndsWith(","))
                {
                    taxonomiaListaPerfil = taxonomiaListaPerfil.Remove(taxonomiaListaPerfil.Length - 1, 1);
                }

                //Adiciona a lista de perfis, à lista de taxonomias
                sbTodasTaxonomias.Append(taxonomiaListaPerfil);
            }

            if (temNivelOcupacional)
            {
                string taxonomiaListaNivelOcupacional = sbTaxonomiaListaNivelOcupacional.ToString();

                if (taxonomiaListaNivelOcupacional.EndsWith(","))
                {
                    taxonomiaListaNivelOcupacional = taxonomiaListaNivelOcupacional.Remove(taxonomiaListaNivelOcupacional.Length - 1, 1);
                }

                //Adiciona a lista de perfis, à lista de taxonomias
                sbTodasTaxonomias.Append(taxonomiaListaNivelOcupacional);
            }

            /* Percorre a Lista de Tags para acrescentar estas tags à lista de
             * taxonomias (stringBuilder sbTodasTaxonomias) */
            foreach (CategoriaConteudoTags itemTag in ListaSolucaoEducacionalTags)
            {
                if (itemTag.Tag != null && itemTag.Tag.ID > 0)
                {
                    sbTaxonomiaListaTag.Append(string.Concat(itemTag.Tag.ID, ","));
                    temTag = true;
                }
            }

            if (temTag)
            {
                string taxonomiaListaTags = sbTaxonomiaListaTag.ToString();

                if (taxonomiaListaTags.EndsWith(","))
                {
                    taxonomiaListaTags = taxonomiaListaTags.Remove(taxonomiaListaTags.Length - 1, 1);
                }

                //Adiciona a lista de perfis, à lista de taxonomias
                sbTodasTaxonomias.Append(taxonomiaListaTags);
            }

            return(sbTodasTaxonomias.ToString());
        }
 public bool AlterouCategoria(int solucaoEducacionalId, CategoriaConteudo novaCategoria)
 {
     return(bmSolucaoEducacional.AlterouCategoria(solucaoEducacionalId, novaCategoria));
 }
Beispiel #25
0
        public void AtualizaNodeDrupal(CategoriaConteudo registro, string url)
        {
            try
            {
                if (!(registro.IdNode > 0))
                {
                    return;
                }

                string sbTodasTaxonomias = this.PrepararEntradaDeDadosParaOServicoDrupal(registro);

                int idNodePai = 0;

                if (registro.CategoriaConteudoPai != null && registro.CategoriaConteudoPai.ID > 0 && !registro.CategoriaConteudoPai.IdNode.HasValue)
                {
                    throw new AlertException("Dados salvaos no banco de dados. Não foi possível enviar os dados para o Portal. Favor publicar a categoria pai primeiro");
                }

                if (registro.CategoriaConteudoPai != null && registro.CategoriaConteudoPai.IdNode.HasValue)
                {
                    idNodePai = registro.CategoriaConteudoPai.IdNode.Value;
                }

                bool ativo = true;

                string linkParaImagem = string.Empty;

                //if (registro.Imagem != null && registro..ID > 0)
                //{
                //    ConfiguracaoSistema caminhoParaDiretorioDeUpload = ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.EnderecoSGUS);
                //    linkParaImagem = CommonHelper.ObterLinkParaArquivoDeImagem(caminhoParaDiretorioDeUpload.Registro, registro.Imagem.ID);
                //}
                var postParameters = new Dictionary <string, string> {
                    { "login", ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.UsuarioSOAPPortal).Registro },
                    { "senha", ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.SenhaSOAPPortal).Registro },
                    { "id_solucao_educacional", string.Empty },
                    { "titulo", registro.Nome },
                    { "corpo", registro.Apresentacao },
                    { "lista_taxs", sbTodasTaxonomias },
                    { "status", ativo.ToString() },
                    { "node_id", registro.IdNode.ToString() },
                    { "parent_id", idNodePai.ToString() },
                    { "imagem", linkParaImagem }
                };
                var result = JsonUtil.GetJson <DTOJsonResultNodeId>(url, "POST", postParameters);

                /*cursos_soap_updateRequest c = new cursos_soap_updateRequest(
                 *      ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.UsuarioSOAPPortal).Registro ,
                 *      ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.SenhaSOAPPortal).Registro,
                 *      string.Empty,
                 *      registro.Nome,
                 *      registro.Apresentacao,
                 *      sbTodasTaxonomias,
                 *      ativo.ToString(),
                 *      registro.IdNode.ToString(),
                 *      idNodePai.ToString(),
                 *      linkParaImagem,
                 *      registro.CargaHoraria);
                 *
                 * soap_server_port_type s = new soap_server_port_typeClient();
                 * cursos_soap_updateResponse cursosSoapCreateResponse = s.cursos_soap_update(c);*/

                int nodeRetorno = int.Parse(result.status);

                if (nodeRetorno != registro.IdNode)
                {
                    CategoriaConteudo categoriaConteudo = new BMCategoriaConteudo().ObterPorID(registro.ID);
                    categoriaConteudo.IdNode = int.Parse(result.status);
                    new BMCategoriaConteudo().Alterar(categoriaConteudo);
                }
            }
            catch (AlertException ex)
            {
                throw ex;
            }
            catch (Exception)
            {
                throw new AlertException("Dados salvos no banco de dados. Erro ao sincronizar com o Portal");
            }
        }
 public int?ObterProximoCodigoSequencial(CategoriaConteudo categoria)
 {
     return(bmSolucaoEducacional.ObterProximoCodigoSequencial(categoria));
 }
Beispiel #27
0
 public IList <StatusMatricula> ObterStatusMatriculaPorCategoriaConteudo(CategoriaConteudo categoriaConteudo)
 {
     return(_bmStatusMatricula.ObterStatusMatriculaPorCategoriaConteudo(categoriaConteudo));
 }
 public void Alterar(CategoriaConteudo pCategoriaConteudo)
 {
     ValidarCategoriaConteudoInformada(pCategoriaConteudo);
     repositorio.Salvar(pCategoriaConteudo);
 }
 public IQueryable <Questionario> ObterQuestionariosCancelamento(CategoriaConteudo categoria = null)
 {
     return(bmQuestionario.ObterQuestionariosCancelamento(categoria));
 }
 public IQueryable <Questionario> ObterQuestionariosAbandono(CategoriaConteudo categoria = null)
 {
     return(bmQuestionario.ObterQuestionariosAbandono(categoria));
 }