public IHttpActionResult EditCategory([FromUri] string id, [FromBody] AddOrChangeCategoryModelBinder model) { Guid categoryId = new Guid(id); var exisitngCategory = this.context.Categories .FirstOrDefault(c => c.Id == categoryId); if (exisitngCategory == null) { return(this.BadRequest("No such category!")); } if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var duplicateCategory = this.context.Categories .FirstOrDefault(c => c.Name == model.Name); if (duplicateCategory != null) { return(this.BadRequest("Duplicate category name!")); } exisitngCategory.Name = model.Name; this.context.Categories.AddOrUpdate(exisitngCategory); this.context.SaveChanges(); return(this.Ok(exisitngCategory)); }
public IHttpActionResult PostCategory(AddOrChangeCategoryModelBinder model) { var exisitngCategory = this.context.Categories .FirstOrDefault(c => c.Name == model.Name); if (exisitngCategory != null) { return(this.BadRequest("Duplicate category name!")); } if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var newCategory = new Category { Name = model.Name }; this.context.Categories.Add(newCategory); this.context.SaveChanges(); return(this.Ok(newCategory)); }