public async Task <AccountCreditCard> AddAccountAsync(AccountCreditCard account)
        {
            var creditCard = await _accountContext.FindAsync <CreditCard>(account.CreditCardNumber).ConfigureAwait(false);

            if (creditCard == null)
            {
                throw new InvalidCreditCardException("Credit Card Number Invalid");
            }

            var accountCreditCard = await _accountContext.AccountCreditCards
                                    .FirstOrDefaultAsync <AccountCreditCard>(x => x.Name.Equals(account.Name) && x.CreditCardNumber.Equals(account.CreditCardNumber))
                                    .ConfigureAwait(false);

            if (accountCreditCard == null)
            {
                _accountContext.AccountCreditCards.Add(account);
                await _accountContext.SaveChangesAsync().ConfigureAwait(false);
            }
            return(account);
        }