// POST api/products public virtual HttpResponseMessage Post(Product product) { if (product == null) { return Request.CreateResponse(HttpStatusCode.BadRequest); } else { using (AriUMContext ctx = new AriUMContext("AriUMDBConnection")) { Product c = CntWebApiVerbs.PostProduct(product, ctx); Product cd = ctx.CreateDetachedCopy<Product>(c); var response = Request.CreateResponse<Product>(HttpStatusCode.Created, cd); response.Headers.Location = GetProductGroupLocation(cd.ProductId); return response; } } }
// PUT api/products/5 public virtual HttpResponseMessage Put(int id, Product product) { if (product == null || id != product.ProductId) { return Request.CreateResponse(HttpStatusCode.BadRequest); } else { using (AriUMContext ctx = new AriUMContext("AriUMDBConnection")) { // Does it exist? Product u = CntWebApiVerbs.GetProduct(id, ctx); if (u == null) { return Request.CreateResponse(HttpStatusCode.NotFound); } else { CntWebApiVerbs.PutProduct(product, ctx); return Request.CreateResponse(HttpStatusCode.NoContent); } } } }
public static bool DeleteProduct(Product product, AriUMContext ctx) { ctx.Delete(product); ctx.SaveChanges(); return true; }
public static Product PutProduct(Product product, AriUMContext ctx) { ctx.AttachCopy<Product>(product); ctx.SaveChanges(); return product; }
public static Product PostProduct(Product product, AriUMContext ctx) { ctx.Add(product); ctx.SaveChanges(); return product; }