public IList <StatusMatricula> ObterStatusMatriculaTrilhas()
 {
     using (BMStatusMatricula bmStatusMatricula = new BMStatusMatricula())
     {
         return(bmStatusMatricula.ObterStatusMatriculaDeTrilhas());
     }
 }
Esempio n. 2
0
        private void TratarComboStatusOferta(GridViewRowEventArgs e)
        {
            if (isAdmin.Equals(null))
            {
                isAdmin = bmUsuario.PerfilAdministrador();
            }

            //Procura o dropdownlist de status oferta nas linhas da grid
            DropDownList ddlStatusOferta = (DropDownList)e.Row.FindControl("ddlStatusOferta");

            if (ddlStatusOferta != null)
            {
                Dominio.Classes.MatriculaCapacitacao matriculaCapacitacao = (Dominio.Classes.MatriculaCapacitacao)e.Row.DataItem;

                if (matriculaCapacitacao != null)
                {
                    IList <StatusMatricula> listaStatusMatricula = new BMStatusMatricula().ObterTodosIncluindoEspecificos();//new ManterStatusMatricula().ObterTodosStatusMatricula();

                    int idStatusMatricula = (int)matriculaCapacitacao.StatusMatricula;
                    WebFormHelper.PreencherLista(listaStatusMatricula, ddlStatusOferta);
                    WebFormHelper.SetarValorNaCombo(idStatusMatricula.ToString(), ddlStatusOferta);

                    // Caso não seja administrador e a capacitação não permitir a alteração de status pelo gestor
                    if (isAdmin.HasValue && !isAdmin.Value && !matriculaCapacitacao.Capacitacao.PermiteAlterarSituacao)
                    {
                        ddlStatusOferta.Enabled = false;
                    }
                }
            }
        }
 public IList <StatusMatricula> ObterStatusMatriculaTodas()
 {
     using (BMStatusMatricula bmStatusMatricula = new BMStatusMatricula())
     {
         return(bmStatusMatricula.ObterTodosIncluindoEspecificos());
     }
 }
Esempio n. 4
0
        public DTOConsultarStatusMatricula ConsultarStatusMatricula()
        {
            var retorno = new DTOConsultarStatusMatricula();

            var listaStatus = new BMStatusMatricula().ObterTodos();

            retorno.Lista.AddRange(listaStatus.Select(f => new DTOStatusMatricula {
                ID = f.ID, Nome = f.Nome
            }));

            return(retorno);
        }
Esempio n. 5
0
 public ManterStatusMatricula()
     : base()
 {
     _bmStatusMatricula = new BMStatusMatricula();
 }
Esempio n. 6
0
        public IList <StatusMatricula> ObterStatusMatriculaTodos()
        {
            BMStatusMatricula bmStatusMatricula = new BMStatusMatricula();

            return(bmStatusMatricula.ObterTodosIncluindoEspecificos().OrderBy(x => x.Nome).ToList());
        }
        public IList <StatusMatricula> ObterStatusMatriculaTodos()
        {
            BMStatusMatricula bmStatusMatricula = new BMStatusMatricula();

            return(bmStatusMatricula.ObterTodos());
        }
Esempio n. 8
0
        public void PublicarEmail(EmailEnvio emailEnvio, string assunto, string texto,
                                  List <Tuple <Dictionary <string, string>, int> > hashTags, int[] ufs, int[] statusSelecionados,
                                  int[] niveisOcupacionais, int[] perfis, Turma turma = null, int[] usuarios = null)
        {
            var lstUf = new List <Uf>();
            var ufBm  = new BMUf();

            if (ufs != null)
            {
                lstUf.AddRange(ufs.Select(uf => ufBm.ObterPorId(uf)));
            }

            var statusBm  = new BMStatusMatricula();
            var lstStatus = statusSelecionados
                            .Where(status => statusBm.ObterPorId(status) != null)
                            .Select(status => statusBm.ObterPorId(status)).ToList();

            var lstNivel = new List <NivelOcupacional>();
            var nivelBm  = new BMNivelOcupacional();

            if (niveisOcupacionais != null)
            {
                lstNivel.AddRange(niveisOcupacionais.Select(nivel => nivelBm.ObterPorID(nivel)));
            }

            var lstPerfil = new List <Perfil>();
            var perfilBm  = new BMPerfil();

            if (perfis != null)
            {
                lstPerfil.AddRange(perfis.Select(perfil => perfilBm.ObterPorId(perfil)));
            }

            var lstUsuariosIds = new List <int>();

            usuarioBM = new BMUsuario();

            // Caso tenha algum filtro selecionado recupera os usuários filtrados
            if (ufs.Any() || lstStatus.Any() || lstNivel.Any() || lstPerfil.Any() || turma != null)
            {
                //var usuariosFiltrados = usuarioBM.ObterUsuariosParaEnvioEmail(lstUf, lstStatus, lstNivel, lstPerfil, turma);

                var statusIds = lstStatus.Select(x => x.ID).ToList();
                var niveisIds = lstNivel.Select(x => x.ID).ToList();
                var perfisIds = lstPerfil.Select(x => x.ID).ToList();

                var usuariosFiltradosIds = new ManterUsuario().ObterTodosIQueryable()
                                           .Join(new BMUf().ObterTodosIQueryable(), u => u.UF.ID, uf => uf.ID,
                                                 (usuario, uf) => new { usuario, uf })
                                           .Join(new ManterUsuarioPerfil().ObterTodosIQueryable(), join => join.usuario.ID,
                                                 usuarioPerfil => usuarioPerfil.Usuario.ID, (lastJoin, usuarioPerfil) =>
                                                 new
                {
                    lastJoin.usuario,
                    lastJoin.uf,
                    usuarioPerfil
                })
                                           .Join(new ManterMatriculaOferta().ObterTodosIQueryable(), join => join.usuario.ID,
                                                 matricula => matricula.Usuario.ID,
                                                 (lastJoin, matriculaOferta) =>
                                                 new
                {
                    lastJoin.usuario,
                    lastJoin.uf,
                    lastJoin.usuarioPerfil,
                    matriculaOferta
                })
                                           .Join(new ManterMatriculaTurma().ObterTodosIQueryable(), join => join.matriculaOferta.ID,
                                                 matricula => matricula.MatriculaOferta.ID,
                                                 (lastJoin, matriculaTurma) =>
                                                 new
                {
                    lastJoin.usuario,
                    lastJoin.uf,
                    lastJoin.usuarioPerfil,
                    lastJoin.matriculaOferta,
                    matriculaTurma
                })
                                           .Where(x =>
                                                  (!ufs.Any() || ufs.Contains(x.uf.ID)) &&
                                                  (!statusIds.Any() || statusIds.Contains((int)x.matriculaOferta.StatusMatricula)) &&
                                                  (!niveisIds.Any() || niveisIds.Contains(x.usuario.NivelOcupacional.ID)) &&
                                                  (!perfisIds.Any() || perfisIds.Contains(x.usuarioPerfil.Perfil.ID)) &&
                                                  (turma == null || x.matriculaTurma.Turma.ID == turma.ID))
                                           .Select(x => new
                {
                    x.usuario.ID
                })
                                           .Distinct()
                                           .ToList()
                                           .Select(x => x.ID)
                                           .ToList();

                lstUsuariosIds.AddRange(usuariosFiltradosIds);
            }

            // Adiciona usuários avulsos nos filtros gerais
            if (usuarios != null && usuarios.Any())
            {
                var lstUsuarioSelecionados = usuarios.Select(usuario => usuarioBM.ObterPorId(usuario)).Where(x => !lstUsuariosIds.Contains(x.ID));

                lstUsuariosIds.AddRange(lstUsuarioSelecionados.Where(u => u.Ativo).Select(x => x.ID));
            }

            var cpfLogado = usuarioBM.ObterUsuarioLogado().CPF;

            GerarEmailBaseEmail(lstUsuariosIds, assunto, texto, hashTags, cpfLogado, emailEnvio);
        }