public async Task<IHttpActionResult> Create(HouseHoldAccount model)
        {
            var user = db.Users.Find(User.Identity.GetUserId());
            
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var accountNameExists = user.HouseHold.HouseHoldAccounts.Any(a => a.Name == model.Name);

            if (accountNameExists)
            {
                return Ok("You already have an account called: " + model.Name + " . Please chose another name.");
            }

            else
            {
                var account = new HouseHoldAccount()
                {
                    Name = model.Name,
                    Balance = model.Balance,
                    HouseHoldId = (int)user.HouseHoldId
                };

                db.HouseHoldAccounts.Add(account);

                var trans = new Transaction()
                {
                    Description = "New Account: " + model.Name + " created.",
                    Amount = model.Balance,
                    HouseHoldAccountId = model.HouseHoldId,
                    CategoryId = 1,
                    Created = DateTimeOffset.Now,

                };

                db.Transactions.Add(trans);

                await db.SaveChangesAsync();

                return Ok(account);
            }
            
        }
        public async Task<IHttpActionResult> Edit(HouseHoldAccount model)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }
           
            var oldAccount = db.HouseHoldAccounts.AsNoTracking().FirstOrDefault(a => a.id == model.id);

            //check balance
            if (oldAccount.Balance != model.Balance)
            {
                var adjBal = oldAccount.Balance - model.Balance;
                
                db.Transactions.Add(new Transaction()
                {
                    Description = "User Adjusted Balance",
                    Amount = adjBal,
                    CategoryId = 2,
                    Created = DateTimeOffset.Now,
                    HouseHoldAccountId = model.id
                });

                oldAccount.Balance -= adjBal;
                    
            }

            db.Update<HouseHoldAccount>(model, "Name", "Balance");

            await db.SaveChangesAsync(); 
            return Ok(oldAccount);
        
        }