public void PublicarNotificacao(string link, string texto, DateTime?data, int[] ufs, int[] niveis, int[] perfis) { var ufBm = new BMUf(); IList <Uf> lstUf = ufs.Select(uf => ufBm.ObterPorId(uf)).ToList(); var nivelBm = new BMNivelOcupacional(); IList <NivelOcupacional> lstNivel = niveis.Select(nivel => nivelBm.ObterPorID(nivel)).ToList(); var perfilBm = new BMPerfil(); IList <Perfil> lstPerfil = perfis.Select(perfil => perfilBm.ObterPorId(perfil)).ToList(); var usuarios = new BMUsuario().ObterPorUfsNiveisPerfis(lstUf, lstNivel, lstPerfil); var notificacaoBm = new BMNotificacao(); foreach (var u in usuarios) { notificacaoBm.Salvar(new Notificacao { DataGeracao = DateTime.Now, Link = link, DataNotificacao = data, TextoNotificacao = texto, Usuario = new BMUsuario().ObterPorId(u.ID) }); } }
public IList <NivelOcupacional> GetNivelOcupacionalTodos() { using (var noBM = new BMNivelOcupacional()) { return(noBM.ObterTodos().OrderBy(x => x.Nome).ToList()); } }
public IList <NivelOcupacional> ObterNivelOcupacionalTodos() { using (BMNivelOcupacional nivelBM = new BMNivelOcupacional()) { return(nivelBM.ObterTodos().OrderBy(n => n.Nome).ToList()); } }
public IList <NivelOcupacional> ObterNivelOcupacionalTodas() { using (BMNivelOcupacional bmNivelOcupacional = new BMNivelOcupacional()) { return(bmNivelOcupacional.ObterTodos()); } }
public IList <DTONivelOcupacional> ListarNivelOcupacional() { IList <DTONivelOcupacional> lstResult = null; try { nivelOcupacionalBM = new BMNivelOcupacional(); lstResult = new List <DTONivelOcupacional>(); foreach (NivelOcupacional noc in nivelOcupacionalBM.ObterTodos()) { DTONivelOcupacional nodto = new DTONivelOcupacional(); CommonHelper.SincronizarDominioParaDTO(noc, nodto); lstResult.Add(nodto); } } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } return(lstResult); }
public NivelOcupacional ObterNivelOcupacionalPorID(int pId) { using (BMNivelOcupacional bm = new BMNivelOcupacional()) { return(bm.ObterPorID(pId)); } }
public IList <NivelOcupacional> ObterNivelOcupacionalTodos() { using (BMNivelOcupacional noBM = new BMNivelOcupacional()) { return(noBM.ObterTodos()); } }
public IList <NivelOcupacional> ObterNiveisOcupacionais() { var bmNivelOcupacional = new BMNivelOcupacional(); return(bmNivelOcupacional.ObterTodos()); }
public ManterNivelOcupacional() : base() { bmNivelOcupacional = new BMNivelOcupacional(); }
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); }
public DTOConsultaUsuarioPorFiltro ConsultarUsuarioPorFiltro(string nome, string email, int ID_UF, int ID_NivelOcupacional, int page, int maxPerPage) { DTOConsultaUsuarioPorFiltro dtoConsultaUsuarioPorFiltro = new DTOConsultaUsuarioPorFiltro(); BMUsuario bmUsuario = new BMUsuario(); Usuario usuario = new Usuario { Nome = nome, Email = email }; // Obtem o estado especificado if (ID_UF != 0) { Uf uf = new BMUf().ObterPorId(ID_UF); if (uf != null && uf.ID != 0) { usuario.UF = uf; } } // Obtem o nivel ocupacional especificado if (ID_NivelOcupacional != 0) { NivelOcupacional nivelOcupacional = new BMNivelOcupacional().ObterPorID(ID_NivelOcupacional); if (nivelOcupacional != null && nivelOcupacional.ID != 0) { usuario.NivelOcupacional = nivelOcupacional; } } bmUsuario = new BMUsuario(); // Máximo por página maxPerPage = maxPerPage > 500 ? 500 : maxPerPage; var query = bmUsuario.ObterQueryPorFiltros(usuario); IList <Usuario> usuarios; var total = query.Count(); query = query.OrderBy(x => x.Nome); if (total > maxPerPage) { query = query.Select(x => new Usuario { ID = x.ID, Nome = x.Nome, Email = x.Email, CPF = x.CPF, DataNascimento = x.DataNascimento, SID_Usuario = x.SID_Usuario, Senha = x.Senha, Situacao = x.Situacao.Trim(), Sexo = x.Sexo }); query = query.Skip(page * maxPerPage).Take(maxPerPage); usuarios = query.ToList(); dtoConsultaUsuarioPorFiltro.totalPages = (int)Math.Ceiling((double)total / (double)maxPerPage); } else { usuarios = query.ToList(); dtoConsultaUsuarioPorFiltro.totalPages = 1; } if (usuarios.Any()) { foreach (var u in usuarios) { dtoConsultaUsuarioPorFiltro.ListaConsultaUsuario.Add( new DTOConsultaUsuarioPorFiltroItem { Nome = u.Nome, Email = u.Email, CPF = u.CPF, DataNascimento = u.DataNascimento, SID_Usuario = u.SID_Usuario, SenhaMD5 = CriptografiaHelper.ObterHashMD5(CriptografiaHelper.Decriptografar(u.Senha)), Situacao = u.Situacao.Trim(), Sexo = u.Sexo } ); } } dtoConsultaUsuarioPorFiltro.totalRegistros = total; dtoConsultaUsuarioPorFiltro.currentPage = page; return(dtoConsultaUsuarioPorFiltro); }
public IList <NivelOcupacional> ObterListaNivelOcupacional() { nivelOcupacionalBM = new BMNivelOcupacional(); return(nivelOcupacionalBM.ObterTodos()); }