// PUT api/Category/5 public async Task<HttpResponseMessage> Put(ParticipantActivityCategory category) { using (CrowdContext db = new CrowdContext()) { User user = await AuthenticateUser(GetAuthentication(), db); if (user == null) { return new HttpResponseMessage(HttpStatusCode.Unauthorized); } if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } if (category.Id <= 0) { return Request.CreateResponse(HttpStatusCode.BadRequest); } db.ParticipantActivityCategories.Attach(category); db.Entry(category).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex); } return Request.CreateResponse(HttpStatusCode.OK); } }
// POST api/Category public async Task<HttpResponseMessage> Post(ParticipantActivityCategory category) { using (CrowdContext db = new CrowdContext()) { User user = await AuthenticateUser(GetAuthentication(), db); if (user == null) { return new HttpResponseMessage(HttpStatusCode.Unauthorized); } if (!ModelState.IsValid) return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); db.ParticipantActivityCategories.Add(category); db.SaveChanges(); var response = Request.CreateResponse(HttpStatusCode.Created, category); response.Headers.Location = new Uri(Request.RequestUri.AbsoluteUri + category.Id);//new Uri(Url.Link("DefaultApi", new { id = category.Key })); return response; } }