public IHttpActionResult Put([FromODataUri] int key, Delta<BenthicSample> patch) { Validate(patch.GetEntity()); if (!ModelState.IsValid) { return BadRequest(ModelState); } BenthicSample benthicSample = db.BenthicSamples.Find(key); if (benthicSample == null) { return NotFound(); } BenthicEvent @BenthicEvent = db.BenthicEvents.Find(benthicSample.BenthicEventId); var check = AuthorizeLogic.VerifyBenthicEventEditPermission(@BenthicEvent); if (check) { patch.Put(benthicSample); try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!BenthicSampleExists(key)) { return NotFound(); } else { throw; } } return Updated(benthicSample); } else { return Unauthorized(); } }
// POST: odata/BenthicSamples public IHttpActionResult Post(BenthicSample benthicSample) { if (!ModelState.IsValid) { return BadRequest(ModelState); } BenthicEvent @BenthicEvent = db.BenthicEvents.Find(benthicSample.BenthicEventId); var check = AuthorizeLogic.VerifyBenthicEventEditPermission(@BenthicEvent); if (check) { db.BenthicSamples.Add(benthicSample); db.SaveChanges(); return Created(benthicSample); } else { return Unauthorized(); } }
// DELETE: odata/BenthicSamples(5) public IHttpActionResult Delete([FromODataUri] int key) { BenthicSample benthicSample = db.BenthicSamples.Find(key); if (benthicSample == null) { return NotFound(); } BenthicEvent @BenthicEvent = db.BenthicEvents.Find(benthicSample.BenthicEventId); var check = AuthorizeLogic.VerifyBenthicEventEditPermission(@BenthicEvent); if (check) { db.BenthicSamples.Remove(benthicSample); db.SaveChanges(); return StatusCode(HttpStatusCode.NoContent); } else { return Unauthorized(); } }