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); }