コード例 #1
0
        public void ddlProgama_SelectedIndexChanged(object sender, EventArgs e)
        {
            dvFormularioTurma.Visible = false;
            if (ddlProgama.SelectedIndex > 0)
            {
                var lista = new BMCapacitacao().ObterPorIdPrograma(int.Parse(ddlProgama.SelectedValue)).ToList();


                if (!bmUsuario.PerfilAdministrador())
                {
                    //Retirei pois é uma regra que deve ser aplicada a turmas
                    //int ufGestor = bmUsuario.ObterUFLogadoSeGestor();
                    //if (ufGestor > 0)
                    //    lista = lista.Where(x => x.ListaTurmas.Any(t => t.ListaPermissao.Any(p => p.Uf == null || p.Uf.ID == ufGestor))).ToList();

                    if (rblGerenciarMatriculasAbertas.SelectedValue == "S")
                    {
                        lista = new BMCapacitacao().ObterPorIdPrograma(int.Parse(ddlProgama.SelectedValue), true).Where(x => x.PermiteMatriculaPeloGestor).ToList();
                    }
                }

                if (lista.Count() > 0)
                {
                    ddlCapacitacao.Enabled = true;
                    WebFormHelper.PreencherLista(lista, ddlCapacitacao, false, true);
                }
            }
        }
コード例 #2
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!Page.IsPostBack)
     {
         var bmCapacitacao = new BMCapacitacao();
         WebFormHelper.PreencherLista(new BMPrograma().ObterTodos().OrderBy(x => x.Nome).ToList(), ddlPrograma, true);
     }
 }
コード例 #3
0
        public string MatriculaCapacitacao(int idUsuario, int idCapacitacao, int idTurma)
        {
            var usuario = new BMUsuario().ObterPorId(idUsuario);

            if (usuario == null)
            {
                throw new AcademicoException("Usuário não localizado na base");
            }

            var capacitacao = new BMCapacitacao().ObterPorId(idCapacitacao);

            if (capacitacao == null)
            {
                throw new AcademicoException("Capacitação não localizado na base");
            }

            var matCap = new BMMatriculaCapacitacao().ObterUsuariosPorCapacitacao(usuario.ID, capacitacao.ID);

            if (matCap.Count > 0)
            {
                throw new AcademicoException("Usuário já matriculado nesta capacitação.");
            }

            var turmaCap = new BMTurmaCapacitacao().ObterPorId(idTurma);

            if (turmaCap == null)
            {
                throw new AcademicoException("Turma não localizada na base");
            }

            var matriculaCapacitacao = new MatriculaCapacitacao {
                Usuario          = usuario,
                Capacitacao      = capacitacao,
                UF               = usuario.UF,
                NivelOcupacional = usuario.NivelOcupacional,
                StatusMatricula  = enumStatusMatricula.Inscrito,
                DataInicio       = DateTime.Today
            };


            new BMMatriculaCapacitacao().Salvar(matriculaCapacitacao);

            var matriculaTurmaCapacitacao = new MatriculaTurmaCapacitacao {
                MatriculaCapacitacao = matriculaCapacitacao,
                TurmaCapacitacao     = turmaCap,
                DataMatricula        = DateTime.Today
            };

            new BMMatriculaTurmaCapacitacao().Salvar(matriculaTurmaCapacitacao);

            return(string.Empty);
        }
コード例 #4
0
        public void ddlCapacitacao_SelectedIndexChanged(object sender, EventArgs e)
        {
            dvFormularioTurma.Visible = false;
            if (ddlCapacitacao.SelectedIndex > 0)
            {
                this.ucMatriculaOferta1.IdCapacitacao = int.Parse(ddlCapacitacao.SelectedValue);
                PreencherMatriculas();

                var capacitacao = new BMCapacitacao().ObterPorId(this.ucMatriculaOferta1.IdCapacitacao);

                if (rblGerenciarMatriculasAbertas.SelectedValue == "S" && capacitacao != null && capacitacao.PermiteMatriculaPeloGestor)
                {
                    dvMatricularAluno.Visible = true;
                }
                else
                {
                    dvMatricularAluno.Visible = false;
                }
            }
            else
            {
                pnlMatricula.Visible = false;
            }
        }
コード例 #5
0
 public ManterCapacitacao() : base()
 {
     bmCapacitacao = new BMCapacitacao();
 }
コード例 #6
0
        private classes.TurmaCapacitacao ObterObjetoTurmaCapacitacao()
        {
            var retorno = new classes.TurmaCapacitacao();

            if (Request["Id"] != null)
            {
                PrepararQuestionarios();

                retorno = new BMTurmaCapacitacao().ObterPorId(Convert.ToInt32(Request["Id"]));
            }

            if (string.IsNullOrEmpty(txtNome.Text))
            {
                throw new AcademicoException("Informar o nome da turma");
            }
            else
            {
                retorno.Nome = txtNome.Text;
            }

            if (ddlPrograma.SelectedIndex <= 0)
            {
                throw new AcademicoException("Informar o programa da turma");
            }

            if (ddlCapacitacao.SelectedIndex <= 0)
            {
                throw new AcademicoException("Informar a oferta da turma");
            }
            else
            {
                var objCapacitacao = new BMCapacitacao().ObterPorId(int.Parse(ddlCapacitacao.SelectedValue));
                if (objCapacitacao != null)
                {
                    retorno.Capacitacao = objCapacitacao;
                }
                else
                {
                    throw new AcademicoException("A oferta não foi encontrada no banco de dados.");
                }
            }

            // Data Início
            if (string.IsNullOrEmpty(TxtDtInicio.Text))
            {
                throw new AcademicoException("Informar a Data Início da turma");
            }
            else
            {
                retorno.DataInicio = CommonHelper.TratarData(TxtDtInicio.Text, "Data de Início");
            }


            // Validacao de Data Final
            if (!string.IsNullOrEmpty(TxtDtFinal.Text))
            {
                // Data Final
                var dataFinal = CommonHelper.TratarData(TxtDtFinal.Text.Trim(), "Data Final");
                if (dataFinal < retorno.DataInicio)
                {
                    throw new AcademicoException("A Data Final não pode ser menor que a Data Início");
                }
                else
                {
                    retorno.DataFim = dataFinal;
                }
            }

            // Questionários Associação.
            retorno.ListaQuestionarioAssociacao = ObterQuestionariosAssociacao(retorno);

            AdicionarOuRemoverUf(retorno);

            return(retorno);
        }
コード例 #7
0
        private void PreencherDTOComInformacoesDaMatriculaPrograma(int id_Usuario, List <DTOItemMeusCursos> resultado)
        {
            DTOItemMeusCursos dtoItemMeusCursos = null;

            try
            {
                IList <MatriculaCapacitacao> ListaMatriculaCapacitacao = new BMMatriculaCapacitacao().ObterPorUsuario(id_Usuario).Where(x => x.StatusMatricula.Equals(enumStatusMatricula.Inscrito)).OrderBy(x => x.Capacitacao.Programa.ID).ToList();

                var manterMatCapacitacao = new ManterMatriculaCapacitacaoService();

                int    prevPrograma       = 0;
                int    cont               = 0;
                double totalAprovacoesSol = 0;
                double totalSol           = 0;

                foreach (var itemHistorico in ListaMatriculaCapacitacao)
                {
                    BMCapacitacao bmCapacitacao = new BMCapacitacao();

                    // PROGRAMAS - Mudou o programa cria um novo item pai
                    if (prevPrograma != itemHistorico.Capacitacao.Programa.ID)
                    {
                        totalAprovacoesSol = 0;
                        totalSol           = 0;

                        dtoItemMeusCursos                   = new DTOItemMeusCursos();
                        dtoItemMeusCursos.ID                = itemHistorico.Capacitacao.Programa.ID;
                        dtoItemMeusCursos.NomeSolucao       = itemHistorico.Capacitacao.Programa.Nome;
                        dtoItemMeusCursos.Fornecedor        = Constantes.Sebrae;
                        dtoItemMeusCursos.TextoApresentacao = itemHistorico.Capacitacao.Programa.Apresentacao;
                        dtoItemMeusCursos.DataInicio        = itemHistorico.Capacitacao.DataInicio.ToString("dd/MM/yyyy");
                        dtoItemMeusCursos.DataLimite        = itemHistorico.Capacitacao.DataFim.HasValue ? itemHistorico.Capacitacao.DataFim.Value.ToString("dd/MM/yyyy") : "";
                        dtoItemMeusCursos.Tipo              = Constantes.ProgramaUC;
                        dtoItemMeusCursos.CargaHoraria      = Constantes.NaoDefinido;
                        dtoItemMeusCursos.IdProgramaPortal  = itemHistorico.Capacitacao.Programa.IdNodePortal;
                        dtoItemMeusCursos.LinkAcesso        = "";//!string.IsNullOrEmpty(itemHistorico.Capacitacao.Programa.Acesso) ? itemHistorico.Capacitacao.Programa.Acesso : "";
                    }

                    DTOCapacitacao dtoCapacitacao = manterMatCapacitacao.AprovacoesSolucoesEducacionais(itemHistorico, id_Usuario);

                    dtoItemMeusCursos.CapacitacoesPrograma.Add(dtoCapacitacao);

                    string[] totais = dtoCapacitacao.TextoConclusaoCapacitacao.Split('/');

                    totalAprovacoesSol += float.Parse(totais[0]);
                    totalSol           += float.Parse(totais[1]);

                    //dtoItemMeusCursos.LinkSemAcesso.Add(new DTOLinkSemAcesso { MotivoLinkSemAcesso = string.Format("Este curso será iniciado no dia {0}", exibirData.ToString("dd/MM/yyyy")) });

                    // Se o próximo programa for diferente ou for o último insere no DTO Pai os filhos
                    if (ListaMatriculaCapacitacao.Count - 1 == cont || itemHistorico.Capacitacao.Programa.ID != ListaMatriculaCapacitacao[cont + 1].Capacitacao.Programa.ID)
                    {
                        dtoItemMeusCursos.PorcentagemConlusaoPrograma = (int)(Math.Round(totalAprovacoesSol / totalSol, 2) * 100);
                        dtoItemMeusCursos.TextoConclusaoPrograma      = totalAprovacoesSol + "/" + totalSol;
                        resultado.Add(dtoItemMeusCursos);
                    }

                    // Atualiza a referência ao passado
                    prevPrograma = itemHistorico.Capacitacao.Programa.ID;

                    cont++;
                }
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }
        }
コード例 #8
0
        public List <DTOCapacitacao> ConsultarCapacitacoes(int idUsuario, int idCapacitacao = 0, int idPrograma = 0, string nome = "")
        {
            Usuario usuario = new BMUsuario().ObterPorId(idUsuario);

            if (usuario == null)
            {
                throw new AcademicoException("Usuário não localizado na base");
            }

            Capacitacao objCapacitacao = new Capacitacao();

            if (idPrograma > 0)
            {
                objCapacitacao.Programa.ID = idPrograma;
            }

            if (!string.IsNullOrEmpty(nome))
            {
                objCapacitacao.Nome = nome;
            }

            if (idCapacitacao > 0)
            {
                objCapacitacao.ID = idCapacitacao;
            }

            IList <Capacitacao> ListaCapacitacoes = new BMCapacitacao().ObterPorFiltroNoPeriodoInscricoes(objCapacitacao);

            if (ListaCapacitacoes.Count == 0 || ListaCapacitacoes == null)
            {
                throw new AcademicoException("Não há capacitações disponíveis");
            }

            List <DTOCapacitacao> retorno = new List <DTOCapacitacao>();

            IList <MatriculaCapacitacao> capacitacoesJaMatriculado = new BMMatriculaCapacitacao().ObterPorUsuario(usuario.ID);

            foreach (var cap in ListaCapacitacoes)
            {
                DTOCapacitacao listReturn = new DTOCapacitacao();
                listReturn.jaInscrito = false;
                if (capacitacoesJaMatriculado.Count > 0)
                {
                    var jaInscrito = capacitacoesJaMatriculado.Where(x => x.Capacitacao.ID == cap.ID).ToList();
                    if (jaInscrito.Count > 0)
                    {
                        listReturn.jaInscrito = true;
                    }
                }

                listReturn.ID = cap.ID;
                listReturn.NomeCapacitacao      = cap.Nome;
                listReturn.DataInicio           = cap.DataInicio.ToString("dd/MM/yyyy");
                listReturn.DataFim              = cap.DataFim.HasValue ? cap.DataFim.Value.ToString("dd/MM/yyyy") : "";
                listReturn.DataInicioInscricoes = cap.DataInicioInscricao.HasValue ? cap.DataInicioInscricao.Value.ToString("dd/MM/yyyy") : "";
                listReturn.DataFimInscricoes    = cap.DataFimInscricao.HasValue ? cap.DataFimInscricao.Value.ToString("dd/MM/yyyy") : "";
                listReturn.Programa.ID          = cap.Programa.ID;
                listReturn.Programa.Nome        = cap.Programa.Nome;
                listReturn.Programa.Ativo       = cap.Programa.Ativo;
                listReturn.descricao            = cap.Descricao;
                listReturn.TurmaCapacitacao     = cap.ListaTurmas.Select(f => new DTOTurmaCapacitacao {
                    ID = f.ID, Nome = f.Nome
                }).ToList();
                listReturn.PodeRealizarIscricao = cap.DataInicioInscricao.HasValue && cap.DataFimInscricao.HasValue && (DateTime.Now > cap.DataInicioInscricao.Value && DateTime.Now < cap.DataFimInscricao.Value);

                retorno.Add(listReturn);
            }


            return(retorno);
        }