public async Task AddCurrencyForUser(string gamerTag, decimal amount, CurrencyTransactionReason currencyTransactionReason, CurrencyType currencyType = CurrencyType.Normal)
        {
            using (var scope = _serviceProvider.CreateScope())
                using (var userManager = scope.ServiceProvider.GetRequiredService <UserManager <ApplicationUser> > ())
                {
                    var user = userManager.Users.SingleOrDefault(u => string.Equals(gamerTag, u.GamerTag, StringComparison.CurrentCultureIgnoreCase));

                    var uc = new UserCurrency
                    {
                        Amount = amount,
                        CurrencyTransactionReasonId = currencyTransactionReason,
                        CurrencyTypeId = currencyType,
                        DateNoted      = DateTime.UtcNow,
                        UserId         = user.Id
                    };

                    await _storeRepository.SaveUserCurrency(uc);
                }
        }
Esempio n. 2
0
 public UserCurrency GetMostRecentUserCurrencyByUserIdAndReason(string id, CurrencyTransactionReason currencyTransactionReason)
 {
     return(_context.UserCurrency
            .OrderBy(uc => uc.DateNoted)
            .LastOrDefault(uc => uc.UserId == id && uc.CurrencyTransactionReasonId == currencyTransactionReason));
 }