Beispiel #1
0
        /// <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)}");
        }
Beispiel #2
0
        /// <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");
        }
Beispiel #3
0
        /// <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}");
        }