public void ExpiredAndActivePartiallyUsedCreditTest()
        {
            // Arrange
            var repository = new TransactionRepositoryStub();
            var service    = new TransactionService(repository);

            service.Add(new Transaction()
            {
                UserId = 1, DateCreated = new DateTime(2000, 01, 01), Amount = 100, Type = TransactionType.Credit
            });
            service.Add(new Transaction()
            {
                UserId = 1, DateCreated = new DateTime(2000, 01, 02), Amount = 100, Type = TransactionType.Credit
            });
            service.Add(new Transaction()
            {
                UserId = 1, DateCreated = new DateTime(2000, 01, 02), Amount = -50, Type = TransactionType.Debit
            });

            // Act
            service.ExpireCredit(1, new DateTime(2001, 01, 01));

            // Assert
            var balance = service.GetBalance(1);

            Assert.AreEqual(100m, balance);
        }
Example #2
0
        public IActionResult Save(long accountId, NewViewModel model)
        {
            var account = GetAccount(accountId);

            model.AccountId     = accountId;
            model.AccountName   = account.Name;
            model.AccountNumber = account.AccountNumber;
            model.Options       = GetTransactionTypes();

            if (!ModelState.IsValid)
            {
                return(View("New", model));
            }

            var transaction = new Transaction()
            {
                AccountId         = accountId,
                Date              = model.Date,
                TransactionTypeId = model.TransactionTypeId,
                Description       = model.Description,
                Currency          = model.Currency,
                Amount            = model.Amount
            };

            var result = _transactionService.Add(transaction);

            if (result.HasErrors())
            {
                model.Message = result.GetFailure();
                return(View("New", model));
            }

            return(RedirectToAction("Index"));
        }
Example #3
0
        public void TransactionServiceAdd_UnitOfWorkAddAndComplete_ReturnsUnitOfWorkAddAndComplete()
        {
            var transactionDto = new TransactionDto();
            var entity         = Mapper.Map <TransactionDto, Transaction>(transactionDto);

            _transactionService.Add(transactionDto);

            _uow.Received().Transactions.Add(entity);
            _uow.Received().Complete();
        }
        public ActionResult Create(TransactionViewModel transactionModel)
        {
            if (ModelState.IsValid)
            {
                Transaction transaction = new Transaction
                {
                    Id = transactionModel.Id,
                    TransmitterAccountId = transactionModel.TransmitterRIB,
                    BeneficiaryAccountId = transactionModel.BeneficiaryRIB,
                    OperationDate        = transactionModel.OperationDate,
                    ValueDate            = transactionModel.ValueDate,
                    Amount = transactionModel.Amount,
                    Status = (TransactionStatus)Enum.Parse(typeof(TransactionStatus), "Hold", true),
                    Type   = (TransactionType)Enum.Parse(typeof(TransactionType), transactionModel.Type, true)
                };
                tservice.Add(transaction);
                tservice.Commit();
                return(RedirectToAction("Index"));
            }

            return(View(transactionModel));
        }
 // POST: api/Transactions
 public IHttpActionResult Post(Transaction transaction)
 {
     transactionSvc.Add(transaction);
     return(Ok());
 }
Example #6
0
        public ActionResult <TransactionResponse> Post([FromBody] TransactionRequest request)
        {
            var result = transactionService.Add(request);

            return(Ok(result));
        }
 public async Task <IActionResult> Post([FromBody] Transaction transaction)
 {
     return(CreatedAtAction("Get", new { id = transaction.TransactionID }, transactionService.Add(transaction)));
 }
Example #8
0
        /// <summary>
        /// Copy a data row to an actual Transaction entity
        /// </summary>
        /// <param name="dr"></param>
        /// <returns></returns>
        private Transaction ProcessTransaction(DataRow dr, Rock.Model.FinancialGateway gateway)
        {
            Transaction transaction = null;

            if (dr["Transaction ID"] != null)
            {
                transaction = transactionService.Get(dr["Transaction ID"].ToString());
                if (transaction == null)
                {
                    transaction = new Transaction();
                    transaction.GatewayTransactionId = dr["Transaction ID"].ToString();
                    transactionService.Add(transaction);
                }
            }
            else
            {
                throw new Exception("Transaction from PayPal is missing the Gateway Transaction ID.");
            }

            transaction.FinancialGatewayId = gateway.Id;

            if (dr["Amount"] != null)
            {
                transaction.Amount = Convert.ToDouble(((decimal)dr["Amount"] / 100));
            }

            if (dr["Billing First Name"] != null)
            {
                transaction.BillingFirstName = dr["Billing First Name"].ToString();
            }

            if (dr["Billing Last Name"] != null)
            {
                transaction.BillingLastName = dr["Billing Last Name"].ToString();
            }

            if (dr["Comment1"] != null)
            {
                transaction.Comment1 = dr["Comment1"].ToString();
            }

            if (dr["Comment2"] != null)
            {
                transaction.Comment2 = dr["Comment2"].ToString();
            }

            if (dr["PayPal Fees"] != null)
            {
                transaction.Fees = 0;
            }

            if (dr["PayPal Transaction ID"] != null)
            {
                transaction.MerchantTransactionId = dr["PayPal Transaction ID"].ToString();
            }

            if (dr["Tender Type"] != null)
            {
                transaction.TenderType = dr["Tender Type"].ToString();
            }

            if (dr["Time"] != null)
            {
                transaction.TimeCreated = (DateTime)dr["Time"];
            }

            if (dr["Type"] != null)
            {
                transaction.Type = dr["Type"].ToString();
            }

            if (dr["Batch ID"] != null)
            {
                transaction.BatchId = Convert.ToInt32((decimal)dr["Batch ID"]);
            }
            return(transaction);
        }