Example #1
0
        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);
        }
Example #2
0
        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);
        }