diff --git a/ReallifeGamemode.Server/Commands/UserCommands.cs b/ReallifeGamemode.Server/Commands/UserCommands.cs index 7c307c3b..ffc9acaf 100644 --- a/ReallifeGamemode.Server/Commands/UserCommands.cs +++ b/ReallifeGamemode.Server/Commands/UserCommands.cs @@ -132,24 +132,27 @@ namespace ReallifeGamemode.Server.Commands return; } - using (var dbContext = new DatabaseContext()) + DatabaseContext dbContext = new DatabaseContext(); + User user = player.GetUser(dbContext); + + if (user.BankAccount.Balance < PASSWORD_CHANGE_FEE) { - User user = player.GetUser(dbContext); - - if (user.Password != NAPI.Util.GetHashSha256(oldPassword)) - { - ChatService.ErrorMessage(player, "Du hast dein aktuelles Passwort falsch eingegeben"); - return; - } - - user.Password = NAPI.Util.GetHashSha256(newPassword); - logger.LogInformation("Player {0} changed their password for {1}", player.Name, PASSWORD_CHANGE_FEE.ToMoneyString()); - - user.BankAccount.Balance -= PASSWORD_CHANGE_FEE; - dbContext.SaveChanges(); + ChatService.ErrorMessage(player, $"Für eine Passwortänderung benötigst du mindestens { PASSWORD_CHANGE_FEE.ToMoneyString() }"); + return; } + if (user.Password != NAPI.Util.GetHashSha256(oldPassword)) + { + ChatService.ErrorMessage(player, "Du hast dein aktuelles Passwort falsch eingegeben"); + return; + } + + user.Password = NAPI.Util.GetHashSha256(newPassword); + user.BankAccount.Balance -= PASSWORD_CHANGE_FEE; + dbContext.SaveChanges(); + ChatService.SendMessage(player, $"~y~[ACCOUNT] ~s~Du hast dein Passwort erfolgreich geändert. Dir wurden ~y~{ PASSWORD_CHANGE_FEE.ToMoneyString() } ~s~in Rechnung gestellt."); + logger.LogInformation("Player {0} changed their password for {1}", player.Name, PASSWORD_CHANGE_FEE.ToMoneyString()); } [Command("sms", "~m~Benutzung: ~s~/sms [Spieler] [Nachricht]", GreedyArg = true)]