public async Task <Unit> Handle(AssociarGrupoUsuarioCommand request, CancellationToken cancellationToken) { var grupos = await usuarioCoreSSORepositorio.SelecionarGrupos(); if (grupos == null) { throw new NegocioException("Grupos de usuário não encontrados"); } var gruposNaoIncluidos = grupos.Where(x => !request.UsuarioCoreSSO.Grupos.Any(z => z.Equals(x))); if (gruposNaoIncluidos.Any()) { await usuarioCoreSSORepositorio.IncluirUsuarioNosGrupos(request.UsuarioCoreSSO.UsuId, gruposNaoIncluidos); } return(default);
public async Task <RetornoUsuarioCoreSSO> Handle(CriarUsuarioCoreSSOCommand request, CancellationToken cancellationToken) { var usuarios = await repositoryCoreSSO.ObterPorCPF(request.Usuario.Cpf); if (usuarios != null) { throw new NegocioException($"Já existe usuário com o CPF {request.Usuario.Cpf} na base do CoreSSO"); } var usuarioId = await repositoryCoreSSO.Criar(request.Usuario); var grupos = await repositoryCoreSSO.SelecionarGrupos(); await repositoryCoreSSO.IncluirUsuarioNosGrupos(usuarioId, grupos); return(await repositoryCoreSSO.ObterPorId(usuarioId)); }