public async Task <Guid> Criar(UsuarioCoreSSODto usuario) { try { using var conn = new SqlConnection(ConnectionStrings.ConexaoCoreSSO); conn.Open(); using var transaction = conn.BeginTransaction(); var pessoaId = Guid.NewGuid(); var usuId = Guid.NewGuid(); var parametrosPessoa = new { pessoaId, pesNome = usuario.Nome.Trim() }; var parametrosUsuario = new { usuId, login = usuario.Cpf.Trim(), senha = usuario.SenhaCriptografada, pessoaId }; var parametrosPessoaDoc = new { pessoaId, cpf = usuario.Cpf.Trim() }; await conn.ExecuteAsync(CoreSSOComandos.InserirPessoa, parametrosPessoa, transaction); await conn.ExecuteAsync(CoreSSOComandos.InserirUsuario, parametrosUsuario, transaction); await conn.ExecuteAsync(CoreSSOComandos.InserirPessoaDocumento, parametrosPessoaDoc, transaction); foreach (var grupo in usuario.Grupos) { await conn.ExecuteAsync(CoreSSOComandos.InserirUsuarioGrupo, new { gruId = grupo, usuId }, transaction); } transaction.Commit(); conn.Close(); return(usuId); } catch (Exception ex) { SentrySdk.CaptureException(ex); throw ex; } }
public CriarUsuarioCoreSSOCommand(UsuarioCoreSSODto usuario) { Usuario = usuario; }