public async Task<IHttpActionResult> Put([FromODataUri] int key, Product pro) { if (!ModelState.IsValid) return BadRequest(ModelState); if (key != pro.Id) { return BadRequest(); } db.Entry(pro).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if(!ProdcutExists(key)) { return NotFound(); } else { throw; } } return Updated(pro); }
public async Task<IHttpActionResult> Post(Product pro) { if (!ModelState.IsValid) return BadRequest(ModelState); db.Products.Add(pro); await db.SaveChangesAsync(); return Created(pro); }
// POST odata/Products public HttpResponseMessage Post(Product product) { if (!ModelState.IsValid) { return Request.CreateResponse<ModelStateDictionary>(HttpStatusCode.BadRequest, ModelState); } db.Products.Add(product); db.SaveChanges(); return Request.CreateResponse<Product[]>(HttpStatusCode.Created, new[] { product }); }
// PUT odata/Products(5) public HttpResponseMessage Put([FromODataUri] int key, Product product) { if (!ModelState.IsValid) { return Request.CreateResponse<ModelStateDictionary>(HttpStatusCode.BadRequest, ModelState); } db.Entry(product).State = EntityState.Modified; db.SaveChanges(); return Request.CreateResponse<Product[]>(HttpStatusCode.OK, new[] { product }); }
// PUT odata/Products(5) public HttpResponseMessage PutProduct([FromODataUri] int key, Product product) { if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } if (key != product.ID) { return Request.CreateResponse(HttpStatusCode.BadRequest); } db.Entry(product).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex); } return Request.CreateResponse(HttpStatusCode.OK); }
// POST odata/Products public HttpResponseMessage PostProduct(Product product) { if (ModelState.IsValid) { db.Products.Add(product); db.SaveChanges(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, product); response.Headers.Location = new Uri(Url.ODataLink(new EntitySetPathSegment("Product"))); return response; } else { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } }