public ModalidadeEnsino ObterModalidadePorId(Guid Id)
 {
     try
     {
         var resultado = _contexto.Set <ModalidadeEnsino>().SingleOrDefault(x => x.Id.Equals(Id));
         return(resultado);
     }
     catch (DbException ex)
     {
         _logger.LogError(ex, $"ObterEscolaridadePorId error: {ex.Message}");
         throw;
     }
 }
Beispiel #2
0
 public List <Cargo> ObterCargos()
 {
     _logger.LogDebug("ObterCargos");
     try
     {
         var resultado = _contexto.Set <Cargo>().Where(x => x.Ativo).ToList();
         _logger.LogDebug($"ObterCargos resultado: {resultado.Count} cargos");
         return(resultado);
     }
     catch (DbException ex)
     {
         _logger.LogError(ex, $"ObterCargos: {ex.Message}");
         throw;
     }
 }
Beispiel #3
0
        public ContratoAula ObterAulaParaAvaliarPorId(long aulaId)
        {
            _logger.LogDebug("ObterAulaParaAvaliarPorId");

            try
            {
                var aula = _contexto.Set <ContratoAula>().SingleOrDefault(x => x.Id == aulaId && !x.Avaliado);

                return(aula);
            }
            catch (DbException ex)
            {
                _logger.LogError(ex, $"ObterAulaParaAvaliarPorId error: {ex.Message}");
                throw;
            }
        }
Beispiel #4
0
        public List <Professor> ObterProfessores(long id = 0, string nome = null, string disciplina = null)
        {
            _logger.LogDebug("ObterProfessores");
            try
            {
                Expression <Func <ProfessorDisciplina, bool> > predicado = ExpressionExtension.Query <ProfessorDisciplina>();
                predicado = FiltrarNome(nome, predicado);
                predicado = FiltrarDisciplina(disciplina, predicado);
                predicado = FiltrarId(id, predicado);

                var resultado = _contexto.Set <ProfessorDisciplina>()
                                .Include(prof => prof.Professor)
                                .ThenInclude(usr => usr.Usuario)
                                .ThenInclude(esc => esc.Escolaridade)
                                .Include(prof => prof.Professor)
                                .ThenInclude(mod => mod.ModalidadeEnsino)
                                .Include(prof => prof.Professor)
                                .ThenInclude(esc => esc.EscolaridaPubAlvo)
                                .Include(prof => prof.Professor)
                                .ThenInclude(ava => ava.AvaliacaoProfessor)
                                .Include(disc => disc.Disciplina)
                                .Where(predicado)
                                .AsNoTracking()
                                .ToList();

                var professores = resultado.GroupBy(x => x.ProfessorId)
                                  .Select(y => new Professor(y.ToList().FirstOrDefault(x => x.Professor != null).Professor)
                {
                    Disciplinas = y.ToList().Select(xy => xy.Disciplina).ToList()
                }).ToList();

                professores.ForEach(x => x.Usuario.Senha = string.Empty);

                return(professores);
            }
            catch (DbException ex)
            {
                _logger.LogError(ex, $"ObterProfessores Erro: {ex.Message}");
                throw;
            }
        }
Beispiel #5
0
        public bool ExcluirValidador(Guid idValidacao)
        {
            try
            {
                var validacao = _contexto.Set <EmailValidacao>().SingleOrDefault(x => x.Id == idValidacao);

                if (validacao != null)
                {
                    _contexto.Remove(validacao);
                    _contexto.SaveChanges();
                    return(true);
                }

                return(false);
            }
            catch (DbUpdateException ex)
            {
                _logger.LogError(ex, $"CriarValidador: {ex.Message}");
                throw;
            }
        }
Beispiel #6
0
        public Usuario Login(string email, string senha)
        {
            try
            {
                var resultado = _contexto.Set <Usuario>()
                                .Include(x => x.Cargo)
                                .Include(x => x.Escolaridade)
                                .FirstOrDefault(usr => (usr.Email.Equals(email) || usr.NuDocumento.Equals(email)) && usr.Senha.Equals(senha));

                var validado = _contexto.Set <EmailValidacao>().SingleOrDefault(x => x.UsuarioId == resultado.Id).Valido;

                if (!validado)
                {
                    throw new Exception("Conta não validada, por favor verifique sua caixa de email.");
                }

                if (resultado != null)
                {
                    resultado.Senha = string.Empty;
                }

                return(resultado);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, $"VerificarExistencia Erro: {ex.Message}");
                throw new BusinessException(ex.Message);
            }
        }