public async Task Update(ISettings settings, IClient client, string secret) { Saver saver = new Saver(); if (string.IsNullOrEmpty(secret)) { await saver.Save(new TransactionHandler(settings), client.Update); } else { SecretProcessor secretProcessor = new SecretProcessor(); ClientCredential clientCredential = new ClientCredential( client, new ClientCredentialData() { Secret = secretProcessor.Hash(secret) }, _clientCredentialDataSaver ) { IsActive = true }; await saver.Save(new TransactionHandler(settings), async th => await UpdateClient(th, client, clientCredential)); } }
public Task <IClient> Create(Guid accountId, string secret) { SecretProcessor secretProcessor = new SecretProcessor(); Client client = new Client( new ClientData() { AccountId = accountId }, _dataSaver, _clientCredentialDataFactory, _settingsFactory ); client.ClientCredentialChange = new ClientCredential( client, new ClientCredentialData() { Secret = secretProcessor.Hash(secret) }, _clientCredentialDataSaver ) { IsActive = true }; return(Task.FromResult <IClient>(client)); }