public TransactionController()
 {
     DbContext         = new ApplicationDbContext();
     UserHelper        = new UserHelper(DbContext);
     BankAccountHelper = new BankAccountHelper(DbContext);
     TransactionHelper = new TransactionHelper(DbContext);
 }
        public ActionResult Create([Bind(Include = "BankAccountId,TransactionTypeId,BudgetItemId,Description,Amount,Type")] Transaction transaction)
        {
            if (ModelState.IsValid)
            {
                var houseId = db.BankAccounts.Find(transaction.BankAccountId).HouseholdId;
                transaction.Created     = DateTime.Now;
                transaction.EnteredById = User.Identity.GetUserId();
                db.Transactions.Add(transaction);
                db.SaveChanges();


                //Adjust my Bank Account Balance based on the Transaction type and amount
                BankAccountHelper.AdjustBalance(transaction.Id);

                //Adjust my Budget Balance based on the Transaction type and amount
                BudgetHelper.AdjustBalance(transaction.Id);

                //Adjust my BudgetItem Balance based on the Transaction type and amount
                BudgetItemHelper.AdjustBalance(transaction.Id);

                return(RedirectToAction("Dashboard", "Households", new { id = houseId }));
            }

            ViewBag.BudgetItemId = new SelectList(db.BudgetItems, "Id", "Name", transaction.BudgetItemId);
            return(View(transaction));
        }
Exemple #3
0
 public BankAccountController()
 {
     DbContext         = new ApplicationDbContext();
     HouseholdHelper   = new HouseholdHelper(DbContext);
     BankAccountHelper = new BankAccountHelper(DbContext);
     TransactionHelper = new TransactionHelper(DbContext);
     BankAccountHelper = new BankAccountHelper(DbContext);
 }
Exemple #4
0
 public ActionResult Void(Transaction transaction)
 {
     if (ModelState.IsValid)
     {
         if (transaction.ReconciledAmount > 0)
         {
             BudgetHelper.VoidAdjustBalance(transaction.ReconciledAmount);
             BankAccountHelper.VoidAdjustBalance(transaction.ReconciledAmount);
         }
         else
         {
             BudgetHelper.VoidAdjustBalance(transaction.TransactionAmount);
             BankAccountHelper.VoidAdjustBalance(transaction.TransactionAmount);
         }
         db.Entry(transaction).State = EntityState.Modified;
         transaction.Void            = true;
         transaction.VoidedById      = User.Identity.GetUserId();
         transaction.VoidTime        = DateTime.Now;
         db.SaveChanges();
         return(RedirectToAction("Details", "Household"));
     }
     return(RedirectToAction("Details", "Household"));
 }
 public AccountsHelper(BankAccountHelper bank, PaypalAccount paypal)
 {
     this.bank   = bank;
     this.paypal = paypal;
 }