Example #1
0
        public async Task <ActionResult> JoinCreateHouseHold([Bind(Include = "Id,Name,Created")] HouseHolds houseHolds)
        {
            //var hhId = db.HouseHolds.Find(houseHolds.Id);
            var uId = User.Identity.GetUserId();
            var usr = db.Users.FirstOrDefault(u => u.Id == uId);

            //var usr = db.Users.Find(User.Identity.GetUserId());

            if (ModelState.IsValid)
            {
                if (usr.HouseHoldId != null)
                {
                    ViewBag.ErrorMessage = "You may not create more than one household";
                    return(View());
                }

                houseHolds.Created = DateTime.Now;

                db.HouseHolds.Add(houseHolds);
                db.SaveChanges();
                usr.HouseHoldId = houseHolds.Id;
                db.SaveChanges();
                await ControllerContext.HttpContext.RefreshAuthentication(usr);

                return(RedirectToAction("Home", "HouseHolds"));
            }

            return(View());
        }
Example #2
0
        public IHttpActionResult PutHouseHolds(int id, HouseHolds houseHolds)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != houseHolds.Id)
            {
                return(BadRequest());
            }

            db.Entry(houseHolds).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!HouseHoldsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            HouseHolds houseHolds = db.HouseHolds.Find(id);

            db.HouseHolds.Remove(houseHolds);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #4
0
        public IHttpActionResult GetHouseHolds(int id)
        {
            HouseHolds houseHolds = db.HouseHolds.Find(id);

            if (houseHolds == null)
            {
                return(NotFound());
            }

            return(Ok(houseHolds));
        }
Example #5
0
        public ActionResult Edit([Bind(Include = "Id,Name,Created,Updated")] HouseHolds houseHolds)
        {
            if (ModelState.IsValid)
            {
                houseHolds.Updated = DateTime.Now;

                db.Entry(houseHolds).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Home", "HouseHolds"));
            }
            return(View(houseHolds));
        }
Example #6
0
        public IHttpActionResult PostHouseHolds(HouseHolds houseHolds)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            houseHolds.CreatorId = User.Identity.GetUserId();
            db.HouseHolds.Add(houseHolds);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = houseHolds.Id }, houseHolds));
        }
Example #7
0
        public IHttpActionResult DeleteHouseHolds(int id)
        {
            HouseHolds houseHolds = db.HouseHolds.Find(id);

            if (houseHolds == null)
            {
                return(NotFound());
            }

            db.HouseHolds.Remove(houseHolds);
            db.SaveChanges();

            return(Ok(houseHolds));
        }
Example #8
0
        // GET: HouseHolds/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            HouseHolds houseHolds = db.HouseHolds.Find(id);

            if (houseHolds == null)
            {
                return(HttpNotFound());
            }
            return(View(houseHolds));
        }
Example #9
0
        public IHttpActionResult PostHouseHolds(HouseHolds houseHolds)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var houseHold = new HouseHolds();

            houseHold.CreatorId = User.Identity.GetUserId();
            houseHold.Name      = houseHolds.Name;
            db.HouseHolds.Add(houseHold);
            db.SaveChanges();
            var houseHoldViewModel = new CreateHouseHoldViewModel();

            houseHoldViewModel.Id   = houseHold.Id;
            houseHoldViewModel.Name = houseHold.Name;
            return(CreatedAtRoute("DefaultApi", new { id = houseHolds.Id }, houseHolds));
        }
        // GET: BudgetItems/Create
        public PartialViewResult _Create()
        {
            var houseId   = int.Parse(User.Identity.GetHouseHoldId());
            var hh        = db.HouseHolds.FirstOrDefault(h => h.Id == houseId);
            var HouseHold = hh;

            HouseHold = new HouseHolds();
            //ViewBag.CategoryId = new SelectList(db.Category, "Id", "Name");
            //ViewBag.CreatorId = new SelectList(db.ApplicationUsers, "Id", "FirstName");
            //ViewBag.HouseHoldId = new SelectList(db.HouseHolds, "Id", "Name");
            //ViewBag.WarningId = new SelectList(db.Warnings, "Id", "Warning");

            ViewBag.CategoryId = new SelectList(db.Category.Where(c => c.HouseHoldId == hh.Id), "Id", "Name");
            ViewBag.WarningId  = new SelectList(db.Warning, "Id", "WarningLimit");
            ViewBag.HouseHold  = hh.Name;

            return(PartialView());
        }
Example #11
0
        public IHttpActionResult PutHouseHolds(int id, HouseHolds houseHolds)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var userId    = User.Identity.GetUserId();
            var household = db.HouseHolds.Where(p => p.Id == id).FirstOrDefault();

            if (household == null)
            {
                return(BadRequest("Category not found"));
            }
            household.Name = houseHolds.Name;
            //db.Entry(categories).State = EntityState.Modified;
            db.SaveChanges();
            return(Ok());
        }
Example #12
0
        // GET: Accounts
        public ActionResult Index()
        {
            var        id          = User.Identity.GetUserId();
            HouseHolds hh          = id.GetHousehold();
            var        visAccounts = hh.Accounts.Where(a => a.IsSoftDeleted != true);

            ViewBag.recAcct = visAccounts.SelectMany(a => a.Transactions).Where(t => t.Reconciled == true).Sum(t => t.Amount);
            ViewBag.totAcct = visAccounts.SelectMany(a => a.Transactions).Sum(t => t.Amount);

            var accountsList = (from account in db.Accounts.Include("Transactions")
                                where account.IsSoftDeleted != true && account.HouseHoldId == hh.Id
                                let reconciledI = (from transaction in account.Transactions
                                                   where transaction.Reconciled == true &&
                                                   transaction.Income == true
                                                   select transaction.Amount).DefaultIfEmpty().Sum()
                                                  let reconciledE = (from transaction in account.Transactions
                                                                     where transaction.Reconciled == true &&
                                                                     transaction.Income == false
                                                                     select transaction.Amount)
                                                                    .DefaultIfEmpty().Sum()
                                                                    let I = (from transaction in account.Transactions
                                                                             where
                                                                             transaction.Income == true
                                                                             select transaction.Amount).DefaultIfEmpty().Sum()
                                                                            let E = (from transaction in account.Transactions
                                                                                     where
                                                                                     transaction.Income == false
                                                                                     select transaction.Amount)
                                                                                    .DefaultIfEmpty().Sum()
                                                                                    select new ReconciledAccount
            {
                Account = account,
                ReconBalance = reconciledE - reconciledI,
                Balance = I - E
            }).ToList();
            var model = new ManageAccountsViewModel
            {
                ReconciledAccounts = accountsList,
            };

            //var accounts = db.Accounts.Include(a => a.HouseHold);
            return(View(model));
        }
Example #13
0
        public async Task <ActionResult> Invite([Bind(Include = "Id,Email, InviteCode, InvitedUser, HouseHoldId")] Invite invite, HouseHolds HouseHold)
        {
            if (ModelState.IsValid)
            {
                var userId  = User.Identity.GetUserId();
                var user    = db.Users.FirstOrDefault(u => u.Id == userId);
                var hHoldId = int.Parse(User.Identity.GetHouseHoldId());
                invite.HouseHoldId  = hHoldId;
                invite.InviteCode   = Membership.GeneratePassword(8, 2);
                invite.InviteSentBy = user.FullName;
                invite.InviteDate   = DateTimeOffset.Now;
                db.Invites.Add(invite);
                db.SaveChanges();
                var es  = new EmailService();
                var msg = invite.InviteMessage();
                await es.SendAsync(msg);

                return(RedirectToAction("Details", "HouseHolds", (new { id = user.HouseHoldId })));
            }


            return(View(invite));
        }