public async Task <ActionResult> Join(JoinInvitationViewModel invitation)
        {
            if (ModelState.IsValid)
            {
                var user     = db.Users.Find(User.Identity.GetUserId());
                var userRole = roleHelper.ListUserRoles(user.Id).FirstOrDefault();
                if (userRole != null)
                {
                    roleHelper.RemoveUserFromRole(user.Id, userRole);
                }
                roleHelper.AddUserToRole(user.Id, "Member");
                user.HouseholdId = invitation.HouseholdId;
                var invite = db.Invitations.Find(invitation.Id);
                notifyHelp.DidTheyJoinUp(invite);
                inviteHelp.MarkAsInvalid(invitation.Id);
                db.SaveChanges();
                await ControllerContext.HttpContext.RefreshAuthentication(user);

                var houseName = db.Households.Find(invitation.HouseholdId).Name;
                TempData["Appointed"] = $"You joined the '{houseName}' household!";
                return(RedirectToAction("Index", "Home"));
            }
            return(View(invitation));
        }
        // GET: Home/Index
        public ActionResult Index()
        {
            var user = db.Users.Find(User.Identity.GetUserId());

            if (User.IsInRole("Head_Of_House") || User.IsInRole("Admin"))
            {
                var invitations = user.Household.Invitations.Where(i => i.HouseholdId == user.HouseholdId);
                foreach (var invite in invitations)
                {
                    notifyHelp.DidTheyJoinUp(invite);
                }
            }
            var myHouse = new Household();

            if (user.HouseholdId == null && user.HouseholdId != 0)
            {
                myHouse.Id = 0;
            }
            else
            {
                myHouse.Id = (int)user.HouseholdId;
            }
            return(View(myHouse));
        }