Пример #1
0
        public async Task <int> PullCard(IExternalAccount card)
        {
            var accountCard = await _accountCards.Queryable()
                              .Include(x => x.StripeCard).Where(x => x.Id == card.Id).FirstOrDefaultAsync();

            if (accountCard == null)
            {
                accountCard = new AccountCard()
                {
                    Id          = card.Id,
                    ObjectState = ObjectState.Added,
                    StripeCard  = new StripeCard()
                    {
                        Id          = card.Id,
                        ObjectState = ObjectState.Added
                    }
                };
            }
            else
            {
                accountCard.ObjectState            = ObjectState.Modified;
                accountCard.StripeCard.ObjectState = ObjectState.Modified;
            }


            accountCard.Id        = card.Id;
            accountCard.AccountId = card.AccountId;

            accountCard.StripeCard.InjectFrom(card);

            return(_accountCards.InsertOrUpdateGraph(accountCard, true));
        }
Пример #2
0
 /// <summary>
 /// The old API for access to external accounts.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='clientProjectIds'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <object> PostGetExternalAccountListAsync(this IExternalAccount operations, ClientProjectIds clientProjectIds, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PostGetExternalAccountListWithHttpMessagesAsync(clientProjectIds, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Пример #3
0
 /// <summary>
 /// The old API for access to external accounts.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='registrationRequest'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <object> PostRegisterAsync(this IExternalAccount operations, ExternalAccountRegistrationRequest registrationRequest, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PostRegisterWithHttpMessagesAsync(registrationRequest, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Пример #4
0
 /// <summary>
 /// The old API for access to external accounts.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='loginRequest'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <LoginResponse> PostExternalAccountLoginAsync(this IExternalAccount operations, PinLoginRequest loginRequest, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PostExternalAccountLoginWithHttpMessagesAsync(loginRequest, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Пример #5
0
 /// <summary>
 /// Fills parameters
 /// </summary>
 /// <param name="account"></param>
 /// <param name="data"></param>
 /// <param name="macKey"></param>
 protected virtual void OnCreateParams(IExternalAccount account, object data, byte[] macKey)
 {
     account.Key     = Base64Url.Encode(macKey);
     account.Account = data;
     account.Status  = Protocol.ExternalAccountStatus.Pending;
     if (Options.ExternalAccountOptions.ExpiresMinutes != 0)
     {
         account.Expires = DateTime.UtcNow.AddMinutes(Options.ExternalAccountOptions.ExpiresMinutes);
     }
 }
Пример #6
0
        public void HandlesUnknownObjectWithoutId()
        {
            var json  = "{\"object\": \"bar\"}";
            var value = JObject.Parse(json);

            string           id      = null;
            IExternalAccount account = null;

            StringOrObject <IExternalAccount> .Map(value, s => id = s, o => account = o);

            Assert.Null(id);
            Assert.Null(account);
        }
Пример #7
0
        public void HandlesUnknownObjectWithId()
        {
            var json  = "{\"id\": \"foo_123\", \"object\": \"foo\"}";
            var value = JObject.Parse(json);

            string           id      = null;
            IExternalAccount account = null;

            StringOrObject <IExternalAccount> .Map(value, s => id = s, o => account = o);

            Assert.Equal("foo_123", id);
            Assert.Null(account);
        }
Пример #8
0
 /// <summary>
 /// The old API for access to external accounts.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='accountRequest'>
 /// </param>
 public static object PostGetExternalAccountDetailsById(this IExternalAccount operations, ExternalAccountDetailsByIdRequest accountRequest)
 {
     return(operations.PostGetExternalAccountDetailsByIdAsync(accountRequest).GetAwaiter().GetResult());
 }
Пример #9
0
 /// <summary>
 /// The old API for access to external accounts.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='clientProjectIds'>
 /// </param>
 public static object PostGetExternalAccountList(this IExternalAccount operations, ClientProjectIds clientProjectIds)
 {
     return(operations.PostGetExternalAccountListAsync(clientProjectIds).GetAwaiter().GetResult());
 }
Пример #10
0
 /// <summary>
 /// The old API for access to external accounts.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='registrationRequest'>
 /// </param>
 public static object PostRegister(this IExternalAccount operations, ExternalAccountRegistrationRequest registrationRequest)
 {
     return(operations.PostRegisterAsync(registrationRequest).GetAwaiter().GetResult());
 }
Пример #11
0
 /// <summary>
 /// The old API for access to external accounts.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='loginRequest'>
 /// </param>
 public static LoginResponse PostExternalAccountLogin(this IExternalAccount operations, PinLoginRequest loginRequest)
 {
     return(operations.PostExternalAccountLoginAsync(loginRequest).GetAwaiter().GetResult());
 }
Пример #12
0
 public AccountAdapter(IExternalAccount externalAccount)
 {
     _externalAccount = externalAccount;
 }
 public IExternalAccount Update(IExternalAccount item)
 {
     throw new NotImplementedException();
 }
 public void Remove(IExternalAccount item)
 {
     throw new NotImplementedException();
 }