public static void AtmWithdraw([FromSource] Player player, string json) { var response = RpcResponse <Guid, Guid, double> .Parse(json); Server.Log($"AtmWithdraw called: {response.Result1} {response.Result2} {response.Result3}"); try { BankAtm atm = Server.Db.BankAtms.First(a => a.Id == response.Result1); BankAccountMember member = Server.Db.BankAccountMembers.First(m => m.Id == response.Result2); double amount = response.Result3; member.Account.Balance -= amount; Server.Db.BankAccountMembers.AddOrUpdate(member); Server.Db.SaveChangesAsync(); player .Event(RpcEvents.BankAtmWithdraw) .Attach(true) .Trigger(); } catch (Exception e) { Server.Log($"AtmWithdraw Failed: {e.Message}"); player .Event(RpcEvents.BankAtmWithdraw) .Attach(false) .Trigger(); } }
public static void AtmWithdraw([FromSource] Citizen citizen, string atmIdString, string memberIdString, string amountString) { Server.Log($"AtmWithdraw called: {atmIdString} {memberIdString} {amountString}"); try { Guid atmId = JsonConvert.DeserializeObject <Guid>(atmIdString); BankAtm atm = Server.Db.BankAtms.First(a => a.Id == atmId); Guid memberId = JsonConvert.DeserializeObject <Guid>(memberIdString); BankAccountMember member = Server.Db.BankAccountMembers.First(m => m.Id == memberId); double amount = JsonConvert.DeserializeObject <double>(amountString); member.Account.Balance -= amount; Server.Db.BankAccountMembers.AddOrUpdate(member); Server.Db.SaveChangesAsync(); } catch (Exception e) { Server.Log($"AtmWithdraw Failed: {e.Message}"); BaseScript.TriggerClientEvent(RpcEvents.BankAtmWithdraw, JsonConvert.SerializeObject(false)); return; } BaseScript.TriggerClientEvent(RpcEvents.BankAtmWithdraw, JsonConvert.SerializeObject(true)); }