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