Esempio n. 1
0
        public Transaction Transfer(BaseClient destClient, decimal sum, CURRENCY cur)
        {
            var originalSum = sum;

            if (sum <= 0 || !Enabled || !destClient.Enabled)
            {
                throw new ArgumentException("Incorrect sum or account is disabled!");
            }
            if (this.Currency != cur)
            {
                sum = AznRate.Convert(sum, cur, this.Currency);
            }
            var charge = sum * this.Charge;

            sum += charge;

            if (Balance >= sum)
            {
                this.Balance -= sum;
            }
            else
            {
                throw new ArgumentException("Insufficient funds!");
            }
            return(new TransferTran(this.UserID, originalSum, sum, this.Account, destClient.Account, charge, cur, this.Currency, DateTime.Now, true));
        }
Esempio n. 2
0
        public Transaction Deposit(decimal sum, CURRENCY cur)
        {
            var originalSum = sum;

            if (sum <= 0 || !Enabled)
            {
                throw new ArgumentException("Incorrect sum or account is disabled!");
            }
            if (this.Currency != cur)
            {
                sum = AznRate.Convert(sum, cur, this.Currency);
            }
            this.Balance += sum;
            return(new DepositTrans(this.UserID, originalSum, sum, this.Account, 0, cur, this.Currency, DateTime.Now, true));
        }