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); }