示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#5
0
        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);
 }