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)); }
public async Task <RetornoUsuarioCoreSSO> Handle(ObterUsuarioCoreSSOQuery request, CancellationToken cancellationToken) { RetornoUsuarioCoreSSO retorno = null; if (!string.IsNullOrWhiteSpace(request.Cpf)) { retorno = await usuarioCoreSSORepositorio.ObterPorCPF(request.Cpf); } else { retorno = await usuarioCoreSSORepositorio.ObterPorId(request.UsuarioId); } if (retorno == null) { return(retorno); } var grupos = await usuarioGrupoRepositorio.ObterPorUsuarioId(retorno.UsuId); retorno.Grupos = grupos?.Select(x => x.GrupoId) ?? default; return(retorno); }