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); } }
public UserCurrency GetMostRecentUserCurrencyByUserIdAndReason(string id, CurrencyTransactionReason currencyTransactionReason) { return(_context.UserCurrency .OrderBy(uc => uc.DateNoted) .LastOrDefault(uc => uc.UserId == id && uc.CurrencyTransactionReasonId == currencyTransactionReason)); }