public Product Create(Product product) { var dbProduct = Mapper.Map<DbProduct>(product); _db.Products.Add(dbProduct); _db.SaveChanges(); return Mapper.Map<Product>(dbProduct); }
public IHttpActionResult Post(Product entity) { if (!ModelState.IsValid) { return BadRequest(ModelState); } var product = _repository.Create(entity) ; return Created(product); }
public IHttpActionResult Put([FromODataUri] long key, Product update) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (key != update.ID) { return BadRequest(); } return Updated(_repository.Update(key, update, Request)); }
public Product Update(long id, Product product, HttpRequestMessage request) { if (id != product.ID) { throw new HttpResponseException(request.CreateErrorResponse( HttpStatusCode.BadRequest, "Changing key property is not allowed for PUT method.")); } var dbProduct = _db.Products.Find(id); if (dbProduct == null) { throw new HttpResponseException(request.CreateResponse(HttpStatusCode.NotFound)); } dbProduct = Mapper.Map<DbProduct>(product); _db.Products.Attach(dbProduct); _db.Entry(dbProduct).State = EntityState.Modified; _db.SaveChanges(); return product; }