コード例 #1
0
        public ActionResult Create([Bind(Include = "Id,HAName,HhId,Balance")] HouseAccount houseAccount)
        {
            if (ModelState.IsValid)
            {
                var account = db.HAccounts.FirstOrDefault(t => t.HAName == t.HAName);
                if (account != null)
                {
                    Transaction beginBal = new Transaction();
                    beginBal.Amount     = houseAccount.Balance;
                    beginBal.Descript   = "Beginning Balance";
                    beginBal.Created    = DateTime.Now;
                    beginBal.HAccountId = houseAccount.Id;
                    beginBal.Reconcile  = true;
                    beginBal.Type       = "income";

                    db.Transactions.Add(beginBal);

                    db.HAccounts.Add(houseAccount);

                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewBag.Message = "An account by this name already exists. Please use a unique name.";
                    return(View());
                }
            }

            ViewBag.HhId = new SelectList(db.Households, "Id", "Id", houseAccount.HhId);
            return(View(houseAccount));
        }
コード例 #2
0
        // GET: HouseAccounts/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            HouseAccount houseAccount = db.HAccounts.Find(id);

            var     trx     = db.Transactions.Where(t => t.HAccountId == houseAccount.Id).Include(t => t.Cat);
            decimal bankBal = 0;

            foreach (var rec in trx)
            {
                if (rec.Reconcile == true)
                {
                    if (rec.Type == "income")
                    {
                        bankBal += rec.Amount;
                    }
                    else
                    {
                        bankBal -= rec.Amount;
                    }
                }
            }
            ViewBag.bankBal = bankBal;
            return(View(houseAccount));
        }
コード例 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            HouseAccount houseAccount = db.HouseAccounts.Find(id);

            db.HouseAccounts.Remove(houseAccount);
            db.SaveChanges();
            return(RedirectToAction("Index", "Households"));
        }
コード例 #4
0
 public ActionResult Edit([Bind(Include = "Id,HouseholdId,Name,Balance,ReconciledBalace")] HouseAccount houseAccount)
 {
     if (ModelState.IsValid)
     {
         db.Entry(houseAccount).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index", "Households"));
     }
     ViewBag.HouseholdId = new SelectList(db.Households, "Id", "Name", houseAccount.HouseholdId);
     return(View(houseAccount));
 }
コード例 #5
0
        public ActionResult Edit([Bind(Include = "Id,HAName,HhId,Balance")] HouseAccount houseAccount)
        {
            if (ModelState.IsValid)
            {
                db.Entry(houseAccount).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(houseAccount));
        }
コード例 #6
0
        public ActionResult Create([Bind(Include = "Id,HouseholdId,Name,Balance,ReconciledBalace")] HouseAccount houseAccount)
        {
            if (ModelState.IsValid)
            {
                houseAccount.HouseholdId      = HouseholdHelper.GetUserHouseholdId(User.Identity.GetUserId()).Value;
                houseAccount.ReconciledBalace = 0.00M;

                db.HouseAccounts.Add(houseAccount);
                db.SaveChanges();
                return(RedirectToAction("Index", "Households"));
            }

            ViewBag.HouseholdId = new SelectList(db.Households, "Id", "Name", houseAccount.HouseholdId);
            return(View(houseAccount));
        }
コード例 #7
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            HouseAccount houseAccount = db.HouseAccounts.Find(id);

            if (houseAccount == null)
            {
                return(HttpNotFound());
            }
            //ViewBag.HouseholdId = new SelectList(db.Households, "Id", "Name", houseAccount.HouseholdId);
            return(View(houseAccount));
        }
コード例 #8
0
        public ActionResult DeleteConfirmed(int id)
        {
            var transactions = db.Transactions.Where(t => t.HAccountId == id);

            foreach (var tr in transactions)
            {
                tr.CatId      = null;
                tr.HAccountId = null;
                db.Transactions.Remove(tr);
            }

            HouseAccount houseAccount = db.HAccounts.Find(id);

            db.HAccounts.Remove(houseAccount);

            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #9
0
        // GET: HouseAccounts/Delete/5
        public PartialViewResult _Delete(int?id)
        {
            HouseAccount houseAccount = db.HAccounts.Find(id);

            return(PartialView(houseAccount));
        }