コード例 #1
0
        public CustomerDebitDTO DebitTransaction(AmountDTO dto)
        {
            var charge         = _transSurChargeRepository.GetSurcharge(dto.Amount);
            var transferAmount = _transSurChargeRepository.GetTransferAmount(dto.Amount);

            if (charge.FeeAmount > dto.Amount)
            {
                throw new ArgumentException("The amount is too low to transfer");
            }

            if (charge == null)
            {
                throw new ArgumentNullException("Sorry! Something went wrong. Try again.");
            }

            var debitInfo = new CustomerDebitDTO
            {
                Amount         = transferAmount + charge.FeeAmount,
                TransferAmount = transferAmount,
                Charge         = charge.FeeAmount,
                DebitAmount    = transferAmount + charge.FeeAmount
            };

            return(debitInfo);
        }