public async Task <EventoCompletoDto> ObterPorId(long id) { var evento = await repositorioEvento.ObterPorIdAsync(id); evento.TipoEvento = await repositorioEventoTipo.ObterPorIdAsync(evento.TipoEventoId); var usuario = await servicoUsuario.ObterUsuarioLogado(); //verificar se o evento e o perfil do usuário é SME para possibilitar alteração bool podeAlterar = !EhEventoSME(evento) || (EhEventoSME(evento) && usuario.EhPerfilSME()); if (!EhEventoSME(evento) && (evento.TipoEventoId == (long)TipoEvento.LiberacaoExcepcional || evento.TipoEventoId == (long)TipoEvento.ReposicaoNoRecesso)) { podeAlterar = usuario.TemPerfilGestaoUes(); } return(MapearParaDto(evento, podeAlterar)); }