public async Task<IHttpActionResult> Create(Category model)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var user = db.Users.Find(User.Identity.GetUserId());
            var categoryExists = user.HouseHold.Categories.Any(c => c.Name == model.Name);

            if (categoryExists)
            {
                return BadRequest("You already have a category called: " + model.Name + " . Please chose another name.");
            }

            else
            {
                var category = new Category()
                {
                    Name = model.Name,
                    HouseHoldId = (int)user.HouseHoldId
                };

                db.Categories.Add(category);
                await db.SaveChangesAsync();

                return Ok();
            }

        }
        public async Task<IHttpActionResult> Edit(int id, Category model)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

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

            var user = db.Users.Find(User.Identity.GetUserId());
            var oldCategory = user.HouseHold.Categories.FirstOrDefault(c => c.id == id);

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

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CategoryExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return Ok(oldCategory);
        }