public void AddExpenditure() { Transaction transaction = new Transaction { Amount = -1000, CreateDate = createDate, Category = auchanCategory, AffectsMonthlyLimit = true, AffectsSpecialLimit = false }; List<Transaction> transactions = transactionManager.GetAllTransactions(); Assert.AreEqual(0, transactions.Count); transactionManager.SaveTransaction(transaction); transactions = transactionManager.GetAllTransactions(); Assert.AreEqual(1, transactions.Count); Transaction trans = transactions.First(); Assert.AreNotEqual(0, trans.Id); Assert.AreEqual(-1000, trans.Amount); Assert.AreEqual(createDate, trans.CreateDate); Assert.AreEqual(auchanCategory.Id, trans.Category.Id); Assert.AreEqual(auchanCategory.Name, trans.Category.Name); Assert.AreEqual(true, trans.AffectsMonthlyLimit); Assert.AreEqual(false, trans.AffectsSpecialLimit); }
public void SaveTransaction(Transaction transaction) { Transaction foundTrans = db.Transactions.Find(transaction.Id); if (foundTrans != null) db.Transactions.Remove(foundTrans); transaction.Id = 1; db.Transactions.Add(transaction); db.SaveChanges(); return; }
// // GET: /Transaction/Create public ActionResult Create() { CategoryManager categoryManager = new CategoryManager(); ViewData["categories"] = new SelectList(categoryManager.GetAllCategories(), "Id", "Name", 0); object o = HttpContext.Session["lastCreateDate"]; DateTime date = (o == null ? DateTime.Now : (DateTime)o); ViewBag.LastCreateDate = date.ToString("yyyy-MM-dd"); Transaction trans = new Transaction(); trans.AffectsMonthlyLimit = true; return View(trans); }
public ActionResult Create(Transaction transaction) { CategoryManager categoryManager = new CategoryManager(); ViewData["categories"] = new SelectList(categoryManager.GetAllCategories(), "Id", "Name", transaction.CategoryId); if (ModelState.IsValid) { if (transaction.CategoryId == 0) transaction.CategoryId = null; db.Transactions.Add(transaction); db.SaveChanges(); HttpContext.Session["lastCreateDate"] = transaction.CreateDate; return RedirectToAction("Index"); } object o = HttpContext.Session["lastCreateDate"]; DateTime date = (o == null ? DateTime.Now : (DateTime)o); ViewBag.LastCreateDate = date.ToString("yyyy-MM-dd"); return View(transaction); }
public void UpdateTransaction() { Transaction transaction = new Transaction { Amount = 1000, CreateDate = createDate, Category = auchanCategory, AffectsMonthlyLimit = true, AffectsSpecialLimit = false }; transactionManager.SaveTransaction(transaction); List<Transaction> transactions = transactionManager.GetAllTransactions(); Assert.AreEqual(1, transactions.Count); Transaction oldtrans = transactions.First(); Transaction modifiedTransaction = new Transaction { Id = oldtrans.Id, Amount = 2000, CreateDate = createDate.AddDays(1), Category = new Category { Id = 111, Name = "ads" }, AffectsMonthlyLimit = false, AffectsSpecialLimit = true }; transactionManager.SaveTransaction(modifiedTransaction); transactions = transactionManager.GetAllTransactions(); Assert.AreEqual(1, transactions.Count); Transaction trans = transactions.First(); Assert.AreEqual(oldtrans.Id, trans.Id); Assert.AreNotEqual(oldtrans.Amount, trans.Amount); Assert.AreNotEqual(oldtrans.CreateDate, trans.CreateDate); Assert.AreNotEqual(oldtrans.Category.Id, trans.Category.Id); Assert.AreNotEqual(oldtrans.AffectsMonthlyLimit, trans.AffectsMonthlyLimit); Assert.AreNotEqual(oldtrans.AffectsSpecialLimit, trans.AffectsSpecialLimit); }
public ActionResult Edit(Transaction transaction) { if (ModelState.IsValid) { if (transaction.CategoryId == 0) transaction.CategoryId = null; db.Entry(transaction).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(transaction); }