public async Task <IActionResult> Edit(Guid id, [Bind("Did,Name,Version,Attributes,UserId")] CredentialSchema credentialSchema) { if (id != credentialSchema.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(credentialSchema); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CredentialSchemaExists(credentialSchema.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(credentialSchema)); }
public void UpdateTokenByUsername(string username, CredentialSchema credentialSchema) { if (credentialSchema == null) { return; } try { using (var connection = new SqlConnection(_connectionString)) { var command = new SqlCommand(UserStoredProcedures.UpdateUserCredentialByUsername, connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("@Username", username); command.Parameters.AddWithValue("@AccessToken", credentialSchema.AccessToken); command.Parameters.AddWithValue("@RefreshToken", credentialSchema.RefreshToken); connection.Open(); if (command.ExecuteNonQuery() == 0) { throw new Exception(); } } } catch (Exception) { throw; } }
public async Task <IActionResult> Create([Bind("Name,Version,Attributes")] CredentialSchema credentialSchema) { if (ModelState.IsValid) { await _identityService.CreateCredentialSchemaAsync(_userManager.GetUserId(User), credentialSchema.Name, credentialSchema.Version, credentialSchema.AttributeArray); return(RedirectToAction(nameof(Index))); } return(View(credentialSchema)); }
public async Task CreateCredentialSchemaAsync(string userId, string name, string version, string[] attributes) { var walletData = await GetDefaultWalletDataAsync(userId); var schema = new { name, version, attr_names = attributes }; var wallet = await Wallet.OpenWalletAsync(walletData.Name, null, null); try { using (var pool = await PoolUtils.CreateAndOpenPoolLedgerAsync()) { var schemaRequest = await Ledger.BuildSchemaRequestAsync(walletData.Did, JsonConvert.SerializeObject(schema)); var result = await Ledger.SignAndSubmitRequestAsync(pool, wallet, walletData.Did, schemaRequest); Console.WriteLine("=============Schema Request Result==========="); Console.WriteLine(result); var schemaData = new CredentialSchema { Id = Guid.NewGuid(), AttributeArray = attributes, Name = name, Version = version, UserId = userId }; _dbContext.CredentialSchemas.Add(schemaData); await _dbContext.SaveChangesAsync(); } } catch (Exception) { throw; } finally { await wallet.CloseAsync(); } }