/// <summary> /// Make deposit with capitalization /// </summary> /// <param name="client"></param> /// <param name="amount"></param> public void MakeCapitalizedDeposit(int clientId, double amount) { double fundsAvailable = SqlQueries.GetFundsAmount(clientId); double newAmount = fundsAvailable - amount; int capDep = 2; SqlQueries.ChangeFundsAmount(clientId, newAmount); SqlQueries.MakeDeposit(clientId, amount); SqlQueries.ChangeDepositType(clientId, capDep); Transaction?.Invoke(clientId, $"Capitalized deposit ${amount} was made by {GetClientNameById(clientId)}"); }
/// <summary> /// Get loan /// </summary> /// <param name="client"></param> /// <param name="amount"></param> public void GetLoan(int clientId, double amount) { double fundsAvailable = SqlQueries.GetFundsAmount(clientId); double loanAmount = SqlQueries.GetLoanAmount(clientId); double newAmount = fundsAvailable + amount; SqlQueries.ChangeFundsAmount(clientId, newAmount); SqlQueries.GetLoan(clientId, amount + loanAmount); Transaction?.Invoke(clientId, $"{GetClientNameById(clientId)} got a ${amount} loan"); }
/// <summary> /// Transfer money from one client to another /// </summary> /// <param name="client"></param> /// <param name="amount"></param> public void TransferFunds(int senderId, string recipient, double amount) { int recipientId = SqlQueries.GetClientId(recipient); double recipientFunds = SqlQueries.GetFundsAmount(recipientId); double senderFunds = SqlQueries.GetFundsAmount(senderId); double senderNewFunds = senderFunds - amount; double recipientNewFunds = recipientFunds + amount; SqlQueries.ChangeFundsAmount(senderId, senderNewFunds); SqlQueries.ChangeFundsAmount(recipientId, recipientNewFunds); Transaction?.Invoke(senderId, $"Transfer of ${amount} was made from {GetClientNameById(senderId)} to {recipient}"); }