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