using System; using System.Collections.Generic; using System.Linq; using System.Text; using GTANetworkAPI; using reallife_gamemode.Server.Entities; using reallife_gamemode.Server.Extensions; /** * @overview Life of German Reallife - Managers BankManager (BankManager.cs) * @author VegaZ * @copyright (c) 2008 - 2018 Life of German */ namespace reallife_gamemode.Server.Managers { public class BankManager : Script { public static void TransferUserMoneyToUser(User sender, User receiver, float amount, string origin) { using (var transferMoney = new Model.DatabaseContext()) { var transactionLog = new Logs.BankAccountTransactionHistory { Sender = sender.Name, SenderBalance = sender.GetUserBankAccount().Balance, MoneySent = amount, Receiver = receiver.Name, ReceiverBalance = receiver.GetUserBankAccount().Balance, NewReceiverBalance = receiver.GetUserBankAccount().Balance + amount, NewSenderBalance = sender.GetUserBankAccount().Balance - amount, Fee = 0, Origin = origin }; transferMoney.BankAccountTransactionLogs.Add(transactionLog); sender.GetUserBankAccount(transferMoney).Balance -= amount; receiver.GetUserBankAccount(transferMoney).Balance += amount; transferMoney.SaveChanges(); } } public static void TransferUserMoneyToFaction(User sender, Faction receiver, float amount, string origin) { using (var transferMoney = new Model.DatabaseContext()) { var transactionLog = new Logs.BankAccountTransactionHistory { Sender = sender.Name, SenderBalance = sender.GetUserBankAccount().Balance, MoneySent = amount, Receiver = receiver.Name, ReceiverBalance = receiver.BankAccount, NewReceiverBalance = receiver.BankAccount + amount, NewSenderBalance = sender.GetUserBankAccount().Balance - amount, Fee = 0, Origin = origin }; transferMoney.BankAccountTransactionLogs.Add(transactionLog); sender.GetUserBankAccount(transferMoney).Balance -= amount; receiver.BankAccount += amount; transferMoney.SaveChanges(); } } public static void TransferFactionMoneyToUser(Faction sender, User receiver, float amount, string origin) { using (var transferMoney = new Model.DatabaseContext()) { var transactionLog = new Logs.BankAccountTransactionHistory { Sender = sender.Name, SenderBalance = sender.BankAccount, MoneySent = amount, Receiver = receiver.Name, ReceiverBalance = receiver.GetUserBankAccount().Balance, NewReceiverBalance = receiver.GetUserBankAccount().Balance + amount, NewSenderBalance = sender.BankAccount - amount, Fee = 0, Origin = origin }; transferMoney.BankAccountTransactionLogs.Add(transactionLog); sender.BankAccount -= amount; receiver.GetUserBankAccount(transferMoney).Balance += amount; transferMoney.SaveChanges(); } } public static void TransferFactionMoneyToFaction(Faction sender, Faction receiver, float amount, string origin) { using (var transferMoney = new Model.DatabaseContext()) { var transactionLog = new Logs.BankAccountTransactionHistory { Sender = sender.Name, SenderBalance = sender.GetFactionBankAccount().Balance, MoneySent = amount, Receiver = receiver.Name, ReceiverBalance = receiver.BankAccount, NewReceiverBalance = receiver.BankAccount + amount, NewSenderBalance = sender.BankAccount - amount, Fee = 0, Origin = origin }; transferMoney.BankAccountTransactionLogs.Add(transactionLog); sender.BankAccount -= amount; receiver.BankAccount += amount; transferMoney.SaveChanges(); } } } }