public async Task <IHttpActionResult> PostHouseHold(string name)
        {
            var user = db.Users.Find(User.Identity.GetUserId());

            if (user.HouseHoldId != null)
            {
                var message = "You must leave your current household before you can create a new household";
                return(Ok(message));
            }

            else
            {
                var houseHold = new HouseHold()
                {
                    Name = name
                };

                user.HouseHoldId = houseHold.id;

                db.HouseHolds.Add(houseHold);
                await db.SaveChangesAsync();

                var returnHouse = new HouseHoldVM()
                {
                    Accounts    = houseHold.HouseHoldAccounts.Where(a => a.isArchived == false).ToList(),
                    BudgetItems = houseHold.BudgetItems.ToList(),
                    Users       = houseHold.Users.ToList()
                };

                return(Ok(returnHouse));
            }
        }
        public async Task <IHttpActionResult> PostJoinHouseHold(JoinHouseVM model)
        {
            var user   = db.Users.Find(User.Identity.GetUserId());
            var invite = db.Invitations.Where(i => i.Code == model.inviteCode && i.InvitedEmail == model.inviteEmail).FirstOrDefault();

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

            else
            {
                user.HouseHoldId = invite.HouseHoldId;
                db.Invitations.Remove(invite);
            }

            await db.SaveChangesAsync();

            var houseHold = user.HouseHold;

            var returnHouse = new HouseHoldVM()
            {
                Accounts    = houseHold.HouseHoldAccounts.Where(a => a.isArchived == false).ToList(),
                BudgetItems = houseHold.BudgetItems.ToList(),
                Users       = houseHold.Users.ToList()
            };

            return(Ok(returnHouse));
        }
        public IHttpActionResult GetHouseHold()
        {
            var user      = db.Users.Find(User.Identity.GetUserId());
            var houseHold = user.HouseHold;

            if (houseHold == null)
            {
                return(Ok("User is not currently a memeber of a household."));
            }

            else
            {
                var returnHouse = new HouseHoldVM()
                {
                    Name        = user.HouseHold.Name,
                    Accounts    = houseHold.HouseHoldAccounts.Where(a => a.isArchived == false).ToList(),
                    BudgetItems = houseHold.BudgetItems.ToList(),
                    Users       = houseHold.Users.ToList()
                };

                return(Ok(returnHouse));
            }
        }