public async Task<IHttpActionResult> PutBenchmark(int id, Benchmark benchmark)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != benchmark.Id)
            {
                return BadRequest();
            }

            db.Entry(benchmark).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BenchmarkExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
        public async Task<HttpResponseMessage> PostBenchmark(Benchmark benchmark)
        {

            db.Benchmarks.Add(benchmark);

            db.SaveChanges();

            var response = Request.CreateResponse(HttpStatusCode.Created);

            string uri = Url.Link("AddBenchmark", new { id = benchmark.Id });
            response.Headers.Location = new Uri(uri);
            return response;
        }