Exemplo n.º 1
0
        /// <summary>
        /// Is called to execute a transaction
        /// </summary>
        /// <param name="transaction">The transaction to execute</param>
        /// <returns>True if transaction went well</returns>
        public bool ExecuteTransaction(Transaction transaction)
        {
            var paymentProvider = _paymentProviders.First(p => p.Type == transaction.PaymentType);

            var transferSuccess = paymentProvider.TransferAmount(transaction.Price, transaction.Description);
            var transferStatus  = paymentProvider.TransactionStatus();

            if (transferSuccess && transferStatus)
            {
                CashDrawer.Open();
                transaction.Status = TransactionStatus.Completed;
                _paymentDao.Insert(transaction);

                return(true);
            }

            transaction.Status = TransactionStatus.Failed;
            _paymentDao.Insert(transaction);
            return(false);
        }
Exemplo n.º 2
0
        public void Insert_InsertTransaktionFromDB_CallDalInsert()
        {
            _uut.Insert(_fakeTransaction);

            _fakeDalFacade.Received(1).UnitOfWork.TransactionRepository.Insert(_fakeTransaction);
        }