コード例 #1
0
        public async Task <PerfisPorPrioridadeDto> DefinirPerfilPrioritario(IEnumerable <Guid> perfis, Usuario usuario)
        {
            var perfisUsuario            = repositorioPrioridadePerfil.ObterPerfisPorIds(perfis);
            var possuiTurmaAtiva         = repositorioAbrangencia.PossuiAbrangenciaTurmaAtivaPorLogin(usuario.Login);
            var possuiTurmaInfantilAtiva = repositorioAbrangencia.PossuiAbrangenciaTurmaInfantilAtivaPorLogin(usuario.Login);

            usuario.DefinirPerfis(perfisUsuario);

            var perfilProfCJSemTurmaTitular = await ObterPerfilPrioritarioCJSemTurmaTitular(usuario.Login, usuario.PossuiPerfilCJPrioritario(), usuario.PossuiPerfilCJInfantilPrioritario());

            usuario.DefinirPerfilAtual(usuario.ObterPerfilPrioritario(possuiTurmaAtiva, possuiTurmaInfantilAtiva, perfilProfCJSemTurmaTitular));

            var perfisPorPrioridade = new PerfisPorPrioridadeDto
            {
                PerfilSelecionado     = usuario.PerfilAtual,
                Perfis                = MapearPerfisParaDto(usuario.Perfis),
                PossuiPerfilSmeOuDre  = usuario.PossuiPerfilSmeOuDre(),
                PossuiPerfilSme       = usuario.PossuiPerfilSme(),
                PossuiPerfilDre       = usuario.PossuiPerfilDre(),
                EhProfessor           = usuario.EhProfessor(),
                EhProfessorCj         = usuario.EhProfessorCj(),
                EhProfessorInfantil   = usuario.EhProfessorInfantil(),
                EhProfessorCjInfantil = usuario.EhProfessorCjInfantil(),
                EhProfessorPoa        = usuario.EhProfessorPoa(),
                EhPerfilProfessor     = usuario.EhPerfilProfessor()
            };

            return(perfisPorPrioridade);
        }