public async Task<IHttpActionResult> Put([FromODataUri] int key, Product update)
 {
     if (!ModelState.IsValid)
     {
         return BadRequest(ModelState);
     }
     if (key != update.Id)
     {
         return BadRequest();
     }
     db.Entry(update).State = EntityState.Modified;
     try
     {
         await db.SaveChangesAsync();
     }
     catch (DbUpdateConcurrencyException)
     {
         if (!ProductExists(key))
         {
             return NotFound();
         }
         else
         {
             throw;
         }
     }
     return Updated(update);
 }
 public async Task<IHttpActionResult> Post(Product product)
 {
     if (!ModelState.IsValid)
     {
         return BadRequest(ModelState);
     }
     db.Products.Add(product);
     await db.SaveChangesAsync();
     return Created(product);
 }