コード例 #1
0
        private void AdicionarOuRemoverNivelOcupacionalATrilhaNivel(TrilhaNivel trilhaNivelEdicao)
        {
            var todosNiveisOcupacionaisDaTrilhaNivel = this.ucPermissoesNivel.ObterTodosNiveisOcupacionais;  //.ObterPerfisSelecionados;

            if (todosNiveisOcupacionaisDaTrilhaNivel != null && todosNiveisOcupacionaisDaTrilhaNivel.Count > 0)
            {
                NivelOcupacional nivelOcupacionalSelecionado = null;

                for (int i = 0; i < todosNiveisOcupacionaisDaTrilhaNivel.Count; i++)
                {
                    nivelOcupacionalSelecionado = new NivelOcupacional()
                    {
                        ID   = int.Parse(todosNiveisOcupacionaisDaTrilhaNivel[i].Value),
                        Nome = todosNiveisOcupacionaisDaTrilhaNivel[i].Text
                    };

                    if (todosNiveisOcupacionaisDaTrilhaNivel[i].Selected)
                    {
                        trilhaNivelEdicao.AdicionarNivelOcupacional(nivelOcupacionalSelecionado);
                    }
                    else
                    {
                        trilhaNivelEdicao.RemoverNivelOcupacional(nivelOcupacionalSelecionado);
                    }
                }
            }
        }
コード例 #2
0
        private void AdicionarQuestionarioATrilhaNivel(TrilhaNivel trilhaNivel)
        {
            int idQuestionario = 0;

            if (int.TryParse(this.ddlQuestionarioProva.SelectedItem.Value, out idQuestionario))
            {
                this.TratarQuestionario(trilhaNivel, idQuestionario, false, enumTipoQuestionarioAssociacao.Prova);
            }
            else
            {
                TratarRemocao(trilhaNivel, false, enumTipoQuestionarioAssociacao.Prova);
            }

            if (int.TryParse(this.ddlQuestionarioPos.SelectedItem.Value, out idQuestionario))
            {
                this.TratarQuestionario(trilhaNivel, idQuestionario, false, enumTipoQuestionarioAssociacao.Pos);
            }
            else
            {
                TratarRemocao(trilhaNivel, false, enumTipoQuestionarioAssociacao.Pos);
            }

            if (int.TryParse(this.ddlQuestionarioPre.SelectedItem.Value, out idQuestionario))
            {
                this.TratarQuestionario(trilhaNivel, idQuestionario, false, enumTipoQuestionarioAssociacao.Pre);
            }
            else
            {
                TratarRemocao(trilhaNivel, false, enumTipoQuestionarioAssociacao.Pre);
            }
        }
コード例 #3
0
        public byte[] EmitirCertificadoModelo(int pIdMatriculaOferta, int pIdUsuarioTrilha, int pIdTrilha, int pIdTrilhaNivel)
        {
            if (autenticacao == null || !(segurancaAutenticacao.AutenticaUsuario(autenticacao)))
            {
                throw new Exception("Usuário não autenticado pelo sistema.");
            }
            TrilhaNivel tn = null;

            if (pIdUsuarioTrilha > 0)
            {
                var ut = new BMUsuarioTrilha().ObterPorId(pIdUsuarioTrilha);
                if (!(ut != null && ut.TrilhaNivel.CertificadoTemplate != null && ut.TrilhaNivel.CertificadoTemplate.ID > 0))
                {
                    throw new Exception("Erro ao gerar o certificado.");
                }
                tn = ut.TrilhaNivel;
            }
            else
            {
                tn = (new BMTrilhaNivel()).ObterPorFiltro(new TrilhaNivel
                {
                    ID     = pIdTrilhaNivel,
                    Trilha = new Trilha
                    {
                        ID = pIdTrilha
                    }
                }).FirstOrDefault();
                if (!(tn != null && tn.CertificadoTemplate != null && tn.CertificadoTemplate.ID > 0))
                {
                    throw new Exception("Erro ao gerar o certificado.");
                }
            }

            var cf = new BMCertificadoTemplate().ObterPorID(tn.CertificadoTemplate.ID);
            var dt = new DataTable();

            dt.Columns.Add(new DataColumn("TX_Certificado"));
            dt.Columns.Add(new DataColumn("OB_Imagem", typeof(byte[])));
            var dr = dt.NewRow();

            // Caso seja do tutor o valor pIdUsuarioTrilha é > 0
            if (pIdUsuarioTrilha == 0)
            {
                dr["TX_Certificado"] = cf.TextoDoCertificado;
            }
            else
            {
                dr["TX_Certificado"] = cf.TextoDoCertificado;
            }
            dr["OB_Imagem"] = CertificadoTemplateUtil.ObterImagemBase64(cf.Imagem);
            if (!string.IsNullOrEmpty(cf.TextoCertificado2) && !string.IsNullOrEmpty(cf.Imagem2))
            {
                dt.Columns.Add(new DataColumn("TX_Certificado2"));
                dt.Columns.Add(new DataColumn("OB_Image2", typeof(byte[])));
                dr["TX_Certificado2"] = cf.TextoCertificado2;
                dr["OB_Image2"]       = CertificadoTemplateUtil.ObterImagemBase64(cf.Imagem2);
            }
            dt.Rows.Add(dr);
            return(CertificadoTemplateUtil.RetornarCertificado(cf, dt));
        }
コード例 #4
0
        /// <summary>
        /// Verifica se os campos obrigatórios (do objeto trilhaNivel) foram informados.
        /// </summary>
        /// <param name="trilhaNivel">Objeto da classe trilhaNivel que contém informações de um nível de uma trilha</param>
        private void VerificarCamposObrigatorios(TrilhaNivel trilhaNivel)
        {
            try
            {
                if (trilhaNivel != null)
                {
                    //Nome do Nível da Trilha
                    if (string.IsNullOrWhiteSpace(trilhaNivel.Nome))
                    {
                        throw new AcademicoException("Nome do Nível. Campo Obrigatório");
                    }

                    //Ordem
                    if (trilhaNivel.ValorOrdem == 0)
                    {
                        throw new AcademicoException("Ordem. Campo Obrigatório");
                    }

                    //Carga Horária
                    if (trilhaNivel.CargaHoraria == 0)
                    {
                        throw new AcademicoException("Carga Horária. Campo Obrigatório");
                    }
                }
            }
            catch (AcademicoException ex)
            {
                throw ex;
            }
        }
コード例 #5
0
        public void Init()
        {
            var nivel = new TrilhaNivel
            {
                Nome = "Gestão de Risco"
            };

            var pontosSebrae = new List <PontoSebrae>
            {
                new PontoSebrae
                {
                    Nome  = "Conhecimento",
                    Ativo = false
                },
                new PontoSebrae
                {
                    Nome  = "Gestão de Risco",
                    Ativo = true
                },
                new PontoSebrae
                {
                    Nome  = "Empreendedorismo",
                    Ativo = false
                },
                new PontoSebrae
                {
                    Nome  = "Empreendedorismo",
                    Ativo = true
                }
            };

            nivel.ListaPontoSebrae = pontosSebrae;

            this.nivel = nivel;
        }
コード例 #6
0
        public UsuarioTrilha ObterPorUsuarioTrilhaNivel(UsuarioTrilha matricula, TrilhaNivel nivel)
        {
            var query         = repositorio.session.Query <UsuarioTrilha>();
            var usuarioTrilha = query.FirstOrDefault(x => x.ID == matricula.ID && x.TrilhaNivel.ID == nivel.ID && x.NovasTrilhas == true);

            return(usuarioTrilha);
        }
コード例 #7
0
        private void AdicionarOuRemoverUfATrilhaNivel(TrilhaNivel trilhaNivelEdicao)
        {
            var todosUfsDaTrilhaNivel = this.ucPermissoesNivel.ObterTodosUfs;

            if (todosUfsDaTrilhaNivel != null && todosUfsDaTrilhaNivel.Count > 0)
            {
                Uf ufSelecionado = null;

                for (int i = 0; i < todosUfsDaTrilhaNivel.Count; i++)
                {
                    ufSelecionado = new Uf()
                    {
                        ID   = int.Parse(todosUfsDaTrilhaNivel[i].Value),
                        Nome = todosUfsDaTrilhaNivel[i].Text
                    };

                    if (todosUfsDaTrilhaNivel[i].Selected)
                    {
                        trilhaNivelEdicao.AdicionarUfs(ufSelecionado);
                    }
                    else
                    {
                        trilhaNivelEdicao.RemoverUf(ufSelecionado);
                    }
                }
            }
        }
コード例 #8
0
        private TrilhaNivel ObterNivelDaTrilha()
        {
            TrilhaNivel trilhaNivel = null;

            //Se IdNivelTrilha > 0, então é edição de um nível pelo ID (obtido do banco)
            //if (this.IdItemQuestionario > 0)
            if (this.IdNivelTrilha > 0)
            {
                //Obtém o item do questionário
                trilhaNivel = new ManterTrilhaNivel().ObterTrilhaNivelPorID(this.IdNivelTrilha);

                /* Marca o atributo para indicar que estamos alterando as informações
                 * do nível da trilha */
                trilhaNivel.StatusRegistro = enumStatusRegistro.Alterado;
            }
            else
            {
                //Edição de um nível da trilha pelo id lógico
                //Obtém o TrilhaNivel através de seu IdLogico (IdLogicoDoItemQuestionario)
                //IList<ItemQuestionario> ListaItens = this.QuestionarioDaSessao.ListaItemQuestionario.Where(x => x.IdLogico == this.IdLogicoDoItemQuestionario).ToList();
                IList <TrilhaNivel> ListaNiveis = this.TrilhaDaSessao.ListaTrilhaNivel.Where(x => x.IdLogico == this.IdLogicoDoNivelTrilha).ToList();

                if (ListaNiveis != null && ListaNiveis.Count > 0)
                {
                    trilhaNivel = ListaNiveis[0];

                    ///* Marca o atributo para indicar que estamos alterando as informações
                    //do item do Questionário */
                    //itemQuestionario.StatusRegistro = enumStatusRegistro.Alterado;
                }
                else
                {
                    int ultimoIdInserido = this.TrilhaDaSessao.ListaTrilhaNivel.Max(x => x.IdLogico);
                    trilhaNivel = new TrilhaNivel()
                    {
                        IdLogico = ultimoIdInserido + 1
                    };
                    this.IdLogicoDoNivelTrilha = trilhaNivel.IdLogico;
                    //this.IdLogicoDoItemQuestionario = trilhaNivel.IdLogico;
                }
            }

            int limiteCancelamento = 0;

            if (int.TryParse(txtLimiteCancelamento.Text, out limiteCancelamento))
            {
                trilhaNivel.LimiteCancelamento = limiteCancelamento;
            }

            if (this.AcaoDaTela.Equals((int)enumAcaoTelaTrilhaNivel.NovoRegistroDeNivel))
            {
                trilhaNivel = new TrilhaNivel()
                {
                    IdLogico = 1
                };
            }

            return(trilhaNivel);
        }
コード例 #9
0
        private void PreencherDadosDoQuestionarioProva(TrilhaNivel trilhaNivel)
        {
            //Questionário Prova
            this.ddlQuestionarioProva.ClearSelection();
            QuestionarioAssociacao questionarioAssociacaoProva = trilhaNivel.ListaQuestionarioAssociacao.Where(x => x.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Prova).ToList()[0];

            WebFormHelper.SetarValorNaCombo(questionarioAssociacaoProva.Questionario.ID.ToString(), this.ddlQuestionarioProva);
        }
コード例 #10
0
        protected override bool ValidarDependencias(object pTrilhaNivel)
        {
            TrilhaNivel trilhaNivel = (TrilhaNivel)pTrilhaNivel;

            return((trilhaNivel.ListaPreRequisito != null && trilhaNivel.ListaPreRequisito.Count > 0) ||
                   (trilhaNivel.ListaItemTrilha != null && trilhaNivel.ListaItemTrilha.Count > 0) ||
                   (trilhaNivel.ListaUsuarioTrilha != null && trilhaNivel.ListaUsuarioTrilha.Count > 0));
        }
コード例 #11
0
        private void TratarRemocao(TrilhaNivel trilhaNivel, bool evolutivo, enumTipoQuestionarioAssociacao tipoQuestionarioAssociacao)
        {
            QuestionarioAssociacao questionarioAssociacaoRemover = trilhaNivel.ListaQuestionarioAssociacao.Where(x => x.TrilhaNivel == trilhaNivel && x.Evolutivo == evolutivo && x.TipoQuestionarioAssociacao.ID == (int)tipoQuestionarioAssociacao).FirstOrDefault();

            if (questionarioAssociacaoRemover != null)
            {
                trilhaNivel.ListaQuestionarioAssociacao.Remove(questionarioAssociacaoRemover);
            }
        }
コード例 #12
0
 private void AdicionarPermissaoATrilhaNivel(TrilhaNivel trilhaNivelEdicao)
 {
     if (trilhaNivelEdicao != null)
     {
         this.AdicionarOuRemoverPerfilATrilhaNivel(trilhaNivelEdicao);
         this.AdicionarOuRemoverUfATrilhaNivel(trilhaNivelEdicao);
         this.AdicionarOuRemoverNivelOcupacionalATrilhaNivel(trilhaNivelEdicao);
     }
 }
コード例 #13
0
        public void Excluir(TrilhaNivel pTrilhaNivel)
        {
            if (this.ValidarDependencias(pTrilhaNivel))
            {
                throw new AcademicoException("Exclusão de registro negada. Existem Registros Dependentes desta Trilha Nível.");
            }

            repositorio.Excluir(pTrilhaNivel);
        }
コード例 #14
0
        private void PreencherDadosQuestionarioPos(TrilhaNivel trilhaNivel)
        {
            QuestionarioAssociacao questionarioAssociacaoPos = trilhaNivel.ListaQuestionarioAssociacao.FirstOrDefault(x => x.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Pos &&
                                                                                                                      !x.Evolutivo); //.ToList()[0];

            if (questionarioAssociacaoPos != null)
            {
                ddlQuestionarioPos.ClearSelection();
                WebFormHelper.SetarValorNaCombo(questionarioAssociacaoPos.Questionario.ID.ToString(), this.ddlQuestionarioPos);
            }
        }
コード例 #15
0
        private void PreencherListaNivelOcupacional(TrilhaNivel trilhaNivel)
        {
            //Obtém a lista de niveis ocupacionais gravadas no banco
            IList <NivelOcupacional> ListaNivelOcupacional = trilhaNivel.ListaPermissao.Where(x => x.NivelOcupacional != null)
                                                             .Select(x => new NivelOcupacional()
            {
                ID = x.NivelOcupacional.ID, Nome = x.NivelOcupacional.Nome
            }).ToList <NivelOcupacional>();

            this.ucPermissoesNivel.PreencherListBoxComNiveisOcupacionaisGravadosNoBanco(ListaNivelOcupacional);
        }
コード例 #16
0
        public List <DTOTrilhaRanking> ObterRanking(TrilhaNivel nivel, int itensPorPagina = 10, int pagina = 1)
        {
            var parametros = new Dictionary <string, object>
            {
                { "ID_TrilhaNivel", nivel.ID },
                { "ItensPorPagina", itensPorPagina },
                { "Pagina", pagina }
            };

            return(ExecutarProcedure <DTOTrilhaRanking>("SP_RANKING_TRILHAS", parametros).ToList());
        }
コード例 #17
0
 public void AlterarTrilhaNivel(TrilhaNivel pTrilhaNivel)
 {
     try
     {
         _bmTrilhaNivel.Salvar(pTrilhaNivel);
     }
     catch (AcademicoException ex)
     {
         throw ex;
     }
 }
コード例 #18
0
        private void PreencherListaUfsDaTrilhaNivel(TrilhaNivel trilhaNivel)
        {
            //Obtém a lista de ufs da trilha nível
            IList <Uf> ListaUFs = trilhaNivel.ListaPermissao.Where(x => x.Uf != null)
                                  .Select(x => new Uf()
            {
                ID = x.Uf.ID, Nome = x.Uf.Nome
            }).ToList <Uf>();

            this.ucPermissoesNivel.PreencherListBoxComUfsGravadasNoBanco(ListaUFs);
        }
コード例 #19
0
        private void ValidarInformacoesDoFiltro(Questionario questionario, TrilhaNivel trilha)
        {
            if (questionario == null)
            {
                throw new Exception("Questionário. Campo Obrigatório!");
            }

            if (trilha == null)
            {
                throw new Exception("Trilha. Campo Obrigatório!");
            }
        }
コード例 #20
0
        public string formataConteudo(string text, int userId, TrilhaNivel nivel)
        {
            var bmUsuario = new BMUsuario();
            var usuario   = bmUsuario.ObterPorId(userId);

            return(text
                   .Replace("#ALUNO", usuario.Nome)
                   .Replace("#CPF", usuario.CPF)
                   .Replace("#EMAILALUNO", usuario.Email)
                   .Replace("#TRILHANOME", nivel.Nome)
                   .Replace("#TRILHA", nivel.Trilha.Nome));
        }
コード例 #21
0
        public IList <TrilhaTopicoTematico> ObterTopicosTematicos(Trilha trilha, TrilhaNivel trilhaNivel)
        {
            ICriteria criteria = repositorio.session.CreateCriteria(typeof(ViewUsuarioTrilhaAtividadeFormativaParticipacao), "vw");

            criteria = criteria.Add(Expression.Eq("TrilhaOrigem", trilha));
            criteria = criteria.Add(Expression.Eq("TrilhaNivelOrigem", trilhaNivel));

            ProjectionList projList = Projections.ProjectionList();

            projList.Add(Projections.Distinct(Projections.Property <ViewUsuarioTrilhaAtividadeFormativaParticipacao>(d => d.TopicoTematico)));
            criteria.SetProjection(projList);
            return(criteria.List <TrilhaTopicoTematico>());
        }
コード例 #22
0
        private void PreencherComboPontoSebrae(TrilhaNivel trilhaNivel)
        {
            var listaPontoSebrae = new ManterPontoSebrae().ObterPorTrilhaNivelAtivos(trilhaNivel);

            if (listaPontoSebrae != null && listaPontoSebrae.Any())
            {
                WebFormHelper.PreencherLista(listaPontoSebrae, ddlPontoSebrae, false, true);
            }
            else
            {
                ddlPontoSebrae.Items.Clear();
            }
        }
コード例 #23
0
        public void PreencherCamposDoNivel(TrilhaNivel pTrilhaNivel)
        {
            this.TrilhaNivelAux = pTrilhaNivel;

            if (pTrilhaNivel != null)
            {
                this.PrepararTelaParaEdicaoDeUmNivel(pTrilhaNivel);
            }
            else
            {
                this.PrepararTelaParaInclusaoDeNovoNivel();
            }
        }
コード例 #24
0
ファイル: BMViewTrilha.cs プロジェクト: lincoln-alves/sgus
        public IList <ViewTrilha> ObterObjetivosDaTrilha(TrilhaNivel trilhaNivel)
        {
            if (trilhaNivel == null)
            {
                throw new AcademicoException("Nível da Trilha. Campo Obrigatório");
            }

            var query = repositorio.session.Query <ViewTrilha>();
            IList <ViewTrilha> ListaViewTrilha = query.Where(x => x.TrilhaNivelOrigem.ID == trilhaNivel.ID && x.UsuarioOrigem == null)
                                                 .Distinct(x => x.TopicoTematico.NomeExibicao, x => x.Objetivo).ToList();

            return(ListaViewTrilha);
        }
コード例 #25
0
        private void PreencherDadosQuestionarioPre(TrilhaNivel trilhaNivel)
        {
            QuestionarioAssociacao questionarioAssociacaoPre = trilhaNivel.ListaQuestionarioAssociacao.FirstOrDefault(x => x.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Pre &&
                                                                                                                      !x.Evolutivo); //.ToList()[0];

            if (questionarioAssociacaoPre != null)
            {
                ddlQuestionarioPre.ClearSelection();
                WebFormHelper.SetarValorNaCombo(questionarioAssociacaoPre.Questionario.ID.ToString(), this.ddlQuestionarioPre);
                //this.IdQuestionarioPre = questionarioAssociacaoPre.Questionario.ID;
                //chkPreObrigatorio.Checked = questionarioAssociacaoPre.Obrigatorio;
            }
        }
コード例 #26
0
        public IList <TrilhaTopicoTematico> ObterTopicosTematicosPorTrilhaNivel(int idTrilha, int idTrilhaNivel)
        {
            viewTrilhaAtividadeFormativaParticipacao = new BMViewUsuarioTrilhaAtividadeFormativaParticipacao();

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

            return(viewTrilhaAtividadeFormativaParticipacao.ObterTopicosTematicos(trilha, trilhaNivel));
        }
コード例 #27
0
        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));
        }
コード例 #28
0
        /// <summary>
        /// Validação das informações de um Nivel Ocupacional.
        /// </summary>
        /// <param name="pNivelOcupacional"></param>
        public void ValidarTrilhaNivelInformado(TrilhaNivel pTrilhaNivel)
        {
            ValidarInstancia(pTrilhaNivel);

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

            //Verifica se a Trilha Nivel é Pré-requisito dele mesmo

            if (pTrilhaNivel.PreRequisito != null && pTrilhaNivel.ID == pTrilhaNivel.PreRequisito.ID)
            {
                throw new AcademicoException(string.Format("Este Nível de Trilha {0} não pode ser Pré-requisito dele mesmo.", pTrilhaNivel.Nome));
            }
        }
コード例 #29
0
        private void PreencherCamposDaAssociacaoDoQuestionario(TrilhaNivel trilhaNivel)
        {
            if (trilhaNivel.ListaQuestionarioAssociacao != null && trilhaNivel.ListaQuestionarioAssociacao.Count > 0)
            {
                foreach (var item in trilhaNivel.ListaQuestionarioAssociacao)
                {
                    if (item.Evolutivo)
                    {
                        //Marca o checkbox
                        this.chkDinamicoPrePos.Checked = true;
                    }
                    else
                    {
                        switch (item.TipoQuestionarioAssociacao.ID)
                        {
                        case (int)enumTipoQuestionarioAssociacao.Pre:
                            this.PreencherDadosQuestionarioPre(trilhaNivel);
                            break;

                        case (int)enumTipoQuestionarioAssociacao.Pos:
                            this.PreencherDadosQuestionarioPos(trilhaNivel);
                            break;

                        case (int)enumTipoQuestionarioAssociacao.Prova:
                            this.PreencherDadosDoQuestionarioProva(trilhaNivel);
                            break;
                        }
                    }

                    //if (item.TipoQuestionarioAssociacao.ID == (int) enumTipoQuestionarioAssociacao.Pre)
                    //{
                    //    this.PreencherDadosQuestionarioPre(trilhaNivel);
                    //    return;
                    //}
                    //if (item.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Pos)
                    //{
                    //    this.PreencherDadosQuestionarioPre(trilhaNivel);
                    //    return;
                    //}
                    //if (item.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Prova)
                    //{
                    //    this.PreencherDadosDoQuestionarioProva(trilhaNivel);
                    //    return;
                    //}
                }
            }
        }
コード例 #30
0
        public void ExcluirTrilhaNivel(int IdTrilhaNivel)
        {
            try
            {
                TrilhaNivel trilhaNivel = null;

                if (IdTrilhaNivel > 0)
                {
                    trilhaNivel = _bmTrilhaNivel.ObterPorID(IdTrilhaNivel);
                }

                _bmTrilhaNivel.Excluir(trilhaNivel);
            }
            catch (AcademicoException ex)
            {
                throw ex;
            }
        }