示例#1
0
        public ActionResult Deposit(int accountID, decimal?balance)
        {
            bankAccount bankAccount = db.Accounts.Find(accountID);

            if (bankAccount == null)
            {
                return(HttpNotFound());
            }
            else if (!balance.HasValue)
            {
                return(View(bankAccount));
            }

            else
            {
                bankAccount.deposit((decimal)balance);
            }

            if (ModelState.IsValid)
            {
                TransHist transaction = new TransHist()
                {
                    date       = DateTime.Now,
                    customerID = bankAccount.customerID,
                    type       = $"Deposit - {bankAccount.accountID}",
                    amount     = (decimal)balance,
                    employee   = User.Identity.GetUserName()
                };
                db.TransactionHistory.Add(transaction);
                db.Entry(bankAccount).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("userAccounts", new { id = bankAccount.customerID }));
            }
            return(View(bankAccount));
        }
示例#2
0
        internal static void PurchaseAnimal()
        {
            Animal      animal      = new Animal();
            bankAccount bankAccount = new bankAccount();

            bankAccount.account += animal.price;
        }
示例#3
0
        public void Credit_WhenAmountIsLessThanZero_ShouldThrowArgumentOutOfRanger()
        {
            //Arrange
            double      beginnigBalance = 100.00;
            double      creditAmount    = 40.00;
            bankAccount account         = new bankAccount("Felipe", beginnigBalance);

            // Act and assert
            Assert.ThrowsException <System.ArgumentOutOfRangeException>(() => account.Credit((creditAmount)));
        }
示例#4
0
 public ActionResult Edit([Bind(Include = "accountID,balance,type,interest,customerID,locked")] bankAccount bankAccount)
 {
     if (ModelState.IsValid)
     {
         db.Entry(bankAccount).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.customerID = new SelectList(db.Customers, "customerID", "fName", bankAccount.customerID);
     return(View(bankAccount));
 }
示例#5
0
        public ActionResult Withdraw(int accountID, decimal?balance)
        {
            bankAccount bankAccount = db.Accounts.Find(accountID);

            if (bankAccount == null)
            {
                return(HttpNotFound());
            }
            if (!balance.HasValue)
            {
                return(View(bankAccount));
            }
            if (bankAccount.balance >= 0)
            {
                if (bankAccount.type)
                {
                    bankAccount.withdraw((decimal)balance);
                }
                else
                {
                    if (balance > bankAccount.balance)
                    {
                        TempData["msg"] = "<script>alert('Checking accounts can't be overdrawn.');</script>";
                        return(View(bankAccount));
                    }
                    else
                    {
                        bankAccount.withdraw((decimal)balance);
                    }
                }
            }
            else
            {
                TempData["msg"] = "<script>alert('Current debts must be paid before withdrawing more money.');</script>";
                return(View(bankAccount));
            }
            if (ModelState.IsValid)
            {
                TransHist transaction = new TransHist()
                {
                    date       = DateTime.Now,
                    customerID = bankAccount.customerID,
                    type       = $"Withdraw - {bankAccount.accountID}",
                    amount     = (decimal)balance,
                    employee   = User.Identity.GetUserName()
                };
                db.TransactionHistory.Add(transaction);
                db.Entry(bankAccount).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("userAccounts", new { id = bankAccount.customerID }));
            }
            return(View(bankAccount));
        }
示例#6
0
        // GET: bankAccounts/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            bankAccount bankAccount = db.Accounts.Find(id);

            if (bankAccount == null)
            {
                return(HttpNotFound());
            }
            return(View(bankAccount));
        }
示例#7
0
        public void Debit_WithValidAmount_UpdateBalance()
        {
            //Arrange
            double      beginningBalance = 11.99;
            double      debitAmount      = 4.55;
            double      expected         = 7.44;
            bankAccount account          = new bankAccount("Felipe", beginningBalance);

            //Act
            account.Debit(debitAmount);
            //Assert
            double actual = account.Balance;

            Assert.AreEqual(expected, actual, "Débito não ocorreu corretamente.");
        }
示例#8
0
        public void Credit_WithValidAmount_UpdateBalance()
        {
            //arrange
            double      beginnigBalance = 100.00;
            double      creditAmount    = 40.00;
            double      expected        = 140.00;
            bankAccount account         = new bankAccount("Felipe", beginnigBalance);

            //Act
            account.Credit(creditAmount);
            //Assert
            double actual = account.Balance;

            Assert.AreEqual(expected, actual, "Crédito não ocorreu corretamente.");
        }
示例#9
0
        // GET: bankAccounts/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            bankAccount bankAccount = db.Accounts.Find(id);

            if (bankAccount == null)
            {
                return(HttpNotFound());
            }
            ViewBag.customerID = new SelectList(db.Customers, "customerID", "fName", bankAccount.customerID);
            return(View(bankAccount));
        }
示例#10
0
        public ActionResult Transfer(int?id)
        {
            var accounts = from a in db.Accounts.Include(a => a.customer)
                           where a.customerID == id && !a.locked
                           select a;

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            bankAccount bankAccount = db.Accounts.Find(id);

            ViewBag.customerID = id;
            return(View(bankAccount));
        }
示例#11
0
        // GET: bankAccounts/Create
        public ActionResult Create(int id)
        {
            var bankAccount = new bankAccount();

            bankAccount.customerID = (int)id;
            bankAccount.percents   = new[]
            {
                new SelectListItem {
                    Value = "0.00", Text = "Business - 0%"
                },
                new SelectListItem {
                    Value = "0.15", Text = "Checking - 0.15%"
                }
            };
            return(View(bankAccount));
        }
示例#12
0
        public ActionResult Create([Bind(Include = "accountID,balance,type,interest,customerID,locked")] bankAccount bankAccount)
        {
            if (ModelState.IsValid)
            {
                TransHist transaction = new TransHist()
                {
                    date       = DateTime.Now,
                    customerID = bankAccount.customerID,
                    type       = "Account Creation",
                    amount     = bankAccount.balance,
                    employee   = User.Identity.GetUserName()
                };
                db.TransactionHistory.Add(transaction);
                db.Accounts.Add(bankAccount);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            //ViewBag.customerID = new SelectList(db.Customers, "customerID", "fName", bankAccount.customerID);
            return(RedirectToAction("userAccounts", new { id = bankAccount.customerID }));
        }
示例#13
0
        public ActionResult Close(int id)
        {
            bankAccount bankAccount = db.Accounts.Find(id);

            bankAccount.close();
            if (ModelState.IsValid)
            {
                TransHist transaction = new TransHist()
                {
                    date       = DateTime.Now,
                    customerID = bankAccount.customerID,
                    type       = $"Closure -{bankAccount.accountID}",
                    amount     = (decimal)0,
                    employee   = User.Identity.GetUserName()
                };
                db.TransactionHistory.Add(transaction);
                db.Entry(bankAccount).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("userAccounts", new { id = bankAccount.customerID }));
            }
            return(View(bankAccount));
        }
示例#14
0
 public void saveTransaction(bankAccount account, Transaction trans)
 {
     _database.Insert(Trans);
     _database.updateWithChildren
 }