public async Task CleanupEmailAccountAsync(string account) { // Get EmailAccount var emailAccount = await this.GetEmailAccountAsync(account); // Get Connector Credential Contract var credential = await this.GetConnectorCredentialContractAsync(account); // Request to connector var connector = new CredentialAgent(credential, account); await connector.DeleteEmailAccountAsync(credential, emailAccount, CancellationToken.None); }
public async Task <EmailAccount> EnsureEmailAccountAsync(string account) { // Get EmailAccount var emailAccount = await this.GetEmailAccountAsync(account); Validator.IsTrue <ApplicationException>(emailAccount.Domains != null && emailAccount.Domains.Count > 0, nameof(emailAccount.Domains), "No active domains for account {0}", account); // Get Connector Credential Contract var credential = await this.GetConnectorCredentialContractAsync(account); // Request to connector var connector = new CredentialAgent(credential, account); emailAccount = await connector.CreateEmailAccountAsync(credential, emailAccount, CancellationToken.None); // Update EmailAccount emailAccount = await this.store.UpdateEmailAccountAsync(emailAccount); return(emailAccount); }