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

            usuario.DefinirPerfis(perfisUsuario);

            var ehProfCJSemTurmaTitular = await VerificarProfCJSemTurmaTitular(usuario.Login, usuario.PossuiPerfilCJPrioritario());

            usuario.DefinirPerfilAtual(usuario.ObterPerfilPrioritario(possuiTurmaAtiva, ehProfCJSemTurmaTitular));

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

            return(perfisPorPrioridade);
        }
示例#2
0
        public PerfisPorPrioridadeDto DefinirPerfilPrioritario(IEnumerable <Guid> perfis, Usuario usuario)
        {
            var perfisUsuario = repositorioPrioridadePerfil.ObterPerfisPorIds(perfis);

            usuario.DefinirPerfis(perfisUsuario);

            var perfisPorPrioridade = new PerfisPorPrioridadeDto
            {
                PerfilSelecionado    = usuario.ObterPerfilPrioritario(),
                Perfis               = MapearPerfisParaDto(perfisUsuario),
                PossuiPerfilSmeOuDre = usuario.PossuiPerfilSmeOuDre(),
                PossuiPerfilSme      = usuario.PossuiPerfilSme(),
                PossuiPerfilDre      = usuario.PossuiPerfilDre()
            };

            return(perfisPorPrioridade);
        }