diff --git a/KfChatDotNetBot/Commands/KasinoUserCommands.cs b/KfChatDotNetBot/Commands/KasinoUserCommands.cs index 1331bc5..08bb27f 100644 --- a/KfChatDotNetBot/Commands/KasinoUserCommands.cs +++ b/KfChatDotNetBot/Commands/KasinoUserCommands.cs @@ -128,7 +128,7 @@ public class RakebackCommand : ICommand var settings = await SettingsProvider.GetMultipleValuesAsync([ BuiltIn.Keys.MoneyRakebackPercentage, BuiltIn.Keys.MoneyRakebackMinimumAmount ]); - var mostRecentRakeback = await db.Transactions.LastOrDefaultAsync(tx => + var mostRecentRakeback = await db.Transactions.OrderBy(x => x.Id).LastOrDefaultAsync(tx => tx.EventSource == TransactionSourceEventType.Rakeback && tx.Gambler == gambler, cancellationToken: ctx); long offset = 0; if (mostRecentRakeback != null) @@ -177,7 +177,7 @@ public class LossbackCommand : ICommand var settings = await SettingsProvider.GetMultipleValuesAsync([ BuiltIn.Keys.MoneyLossbackPercentage, BuiltIn.Keys.MoneyLossbackMinimumAmount ]); - var mostRecentLossback = await db.Transactions.LastOrDefaultAsync(tx => + var mostRecentLossback = await db.Transactions.OrderBy(x => x.Id).LastOrDefaultAsync(tx => tx.EventSource == TransactionSourceEventType.Lossback && tx.Gambler == gambler, cancellationToken: ctx); long offset = 0; if (mostRecentLossback != null) diff --git a/KfChatDotNetBot/Extensions/MoneyExtensions.cs b/KfChatDotNetBot/Extensions/MoneyExtensions.cs index 4dd03e6..9490d89 100644 --- a/KfChatDotNetBot/Extensions/MoneyExtensions.cs +++ b/KfChatDotNetBot/Extensions/MoneyExtensions.cs @@ -5,7 +5,6 @@ using KfChatDotNetBot.Settings; using Microsoft.EntityFrameworkCore; using Newtonsoft.Json; using NLog; -using JsonSerializer = System.Text.Json.JsonSerializer; namespace KfChatDotNetBot.Extensions; @@ -26,7 +25,7 @@ public static class MoneyExtensions await using var db = new ApplicationDbContext(); db.Attach(user); var gambler = - await db.Gamblers.LastOrDefaultAsync(g => g.User == user && g.State != GamblerState.PermanentlyBanned, + await db.Gamblers.OrderBy(x => x.Id).LastOrDefaultAsync(g => g.User == user && g.State != GamblerState.PermanentlyBanned, cancellationToken: ct); if (!createIfNoneExists) return gambler; var permaBanned = await db.Gamblers.AnyAsync(g => g.User == user && g.State == GamblerState.PermanentlyBanned, cancellationToken: ct); @@ -43,7 +42,7 @@ public static class MoneyExtensions NextVipLevelWagerRequirement = Money.VipLevels[0].BaseWagerRequirement }, ct); await db.SaveChangesAsync(ct); - return await db.Gamblers.LastOrDefaultAsync(g => g.User == user, cancellationToken: ct); + return await db.Gamblers.OrderBy(x => x.Id).LastOrDefaultAsync(g => g.User == user, cancellationToken: ct); } /// @@ -220,7 +219,7 @@ public static class MoneyExtensions { await using var db = new ApplicationDbContext(); db.Attach(gambler); - var perk = await db.Perks.LastOrDefaultAsync( + var perk = await db.Perks.OrderBy(x => x.Id).LastOrDefaultAsync( p => p.Gambler == gambler && p.PerkType == GamblerPerkType.VipLevel, ct); return perk; }