public async Task <bool> PodePersistirTurma(string codigoRf, string turmaId, DateTime data)
        {
            var usuarioLogado = await ObterUsuarioLogado();

            if (!usuarioLogado.EhProfessorCj())
            {
                return(await servicoEOL.PodePersistirTurma(codigoRf, turmaId, data));
            }

            var atribuicaoCj = repositorioAtribuicaoCJ.ObterAtribuicaoAtiva(codigoRf);

            return(atribuicaoCj != null && atribuicaoCj.Any());
        }
        private void ObterAtribuicoesCjDre(string professorRf, List <string> codigosDres)
        {
            var atribuicoesCjAtivas = repositorioAtribuicaoCJ.ObterAtribuicaoAtiva(professorRf);

            if (atribuicoesCjAtivas != null && atribuicoesCjAtivas.Any())
            {
                codigosDres.AddRange(atribuicoesCjAtivas.Select(a => a.DreId).Distinct());
            }
        }
예제 #3
0
        private void ObterAtribuicoesCjDre(string professorRf, List <string> codigosDres, Modalidade?modalidade = null)
        {
            var atribuicoesCjAtivas = repositorioAtribuicaoCJ.ObterAtribuicaoAtiva(professorRf);

            if (atribuicoesCjAtivas != null && atribuicoesCjAtivas.Any())
            {
                codigosDres.AddRange(atribuicoesCjAtivas.Where(c => modalidade.HasValue ? c.Modalidade == modalidade : true).Select(a => a.DreId).Distinct());
            }
        }
예제 #4
0
        private async Task <IEnumerable <Guid> > ValidarPerfilCJ(string codigoRF, Guid codigoUsuarioCore, IEnumerable <Guid> perfilsAtual, string login)
        {
            var atribuicaoCJ = repositorioAtribuicaoCJ.ObterAtribuicaoAtiva(codigoRF);

            if (atribuicaoCJ != null && atribuicaoCJ.Any())
            {
                return(perfilsAtual);
            }

            var atribuicaoEsporadica = repositorioAtribuicaoEsporadica.ObterUltimaPorRF(codigoRF);

            if (atribuicaoEsporadica != null && !string.IsNullOrWhiteSpace(atribuicaoEsporadica.ProfessorRf) && atribuicaoEsporadica.DataFim > DateTime.Today)
            {
                return(perfilsAtual);
            }

            await servicoEOL.RemoverCJSeNecessario(codigoUsuarioCore);

            var usuarioEol = await servicoEOL.ObterPerfisPorLogin(login);

            return(usuarioEol.Perfis);
        }
 public Task <IEnumerable <AtribuicaoCJ> > Handle(ObterComponentesCurricularesDoProfessorCJNaTurmaQuery request, CancellationToken cancellationToken)
 {
     return(Task.FromResult(repositorioAtribuicaoCJ.ObterAtribuicaoAtiva(request.Login)));
 }