示例#1
0
 public ActionResult ReceivePayment(ReceivePaymentViewModel model)
 {
     ViewBag.ErrorFlag = false;
     if (!ModelState.IsValid)
     {
         return(View());
     }
     try
     {
         Driver driver = null;
         try
         {
             driver = Driver.GetDriver(model.Cnic);
         }
         catch (Exception)
         {
             ModelState.AddModelError(String.Empty, "The entered CNIC Number is not registered with the system.");
             ViewBag.ErrorFlag = true;
             return(View());
         }
         if (driver == null)
         {
             ModelState.AddModelError(String.Empty, "The entered CNIC Number is not registered with the system.");
             ViewBag.ErrorFlag = true;
             return(View());
         }
         ManualTransactionLog log = new ManualTransactionLog(model.Amount, DateTime.Now, driver);
         return(View("PaymentConfirmation", log));
     }
     catch (Exception ex)
     {
         return(RedirectToAction("ErrorPage", "Error", ex));
     }
 }
示例#2
0
        public void GetAllTransactions_Test()
        {
            //arrange

            //act

            //assert
            Assert.IsType <List <ManualTransactionLog> >(ManualTransactionLog.GetAllTransactions());
        }
示例#3
0
        public void MakeManualTransaction_Test()
        {
            Driver driver = new Driver(48);
            //arrange
            decimal  expectedAmount   = 500;
            decimal  expectedBalance  = driver.Balance + expectedAmount;
            DateTime expectedDateTime = DateTime.Now;
            //act
            ManualTransactionLog actual = driver.MakeManualTransaction(expectedAmount);
            decimal  actualBalance      = driver.Balance;
            DateTime actualDateTime     = actual.TransactionDateTime;
            decimal  actualAmount       = actual.Amount;

            //assert
            Assert.IsType <ManualTransactionLog>(actual);
            Assert.Equal(expectedBalance, actualBalance, 3);
            Assert.Equal(expectedAmount, actualAmount, 3);
            Assert.Equal(expectedDateTime, actualDateTime, new TimeSpan(400000000));
        }
示例#4
0
 /// <summary>
 /// Action returns a list of Manual Transactions
 /// </summary>
 /// <returns></returns>
 public ActionResult ViewAllManualPayments()
 {
     try
     {
         List <ManualTransactionViewModel> model = new List <ManualTransactionViewModel>();
         foreach (var item in ManualTransactionLog.GetAllTransactions())
         {
             model.Add(new ManualTransactionViewModel
             {
                 Amount     = item.Amount,
                 DriverName = item.Driver.FullName.FirstName + " " + item.Driver.FullName.LastName,
                 Time       = UISupportiveFunctions.GetPassedTimeSpanFromNow(item.TransactionDateTime)
             });
         }
         return(View(model));
     }
     catch (Exception ex)
     {
         return(RedirectToAction("ErrorPage", "Error", ex));
     }
 }