117 lines
4.6 KiB
C#
117 lines
4.6 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|
|
}
|