public IHttpActionResult Get(int id) { try { Product product; var productRepository = new ProductRepository(); if (id > 0) { var products = productRepository.Retrieve(); product = products.FirstOrDefault(p => p.ProductId == id); if (product == null) { return NotFound(); } } else { product = productRepository.Create(); } return Ok(product); } catch (Exception ex) { return InternalServerError(ex); } }
public IHttpActionResult Get() { try { var productRepository = new ProductRepository(); return Ok(productRepository.Retrieve().AsQueryable()); } catch (Exception ex) { return InternalServerError(ex); } }
public IHttpActionResult Post([FromBody]Product product) { try { if (product == null) { return BadRequest("Product cannot be null"); } if (!ModelState.IsValid) { return BadRequest(ModelState); } var productRepository = new Models.ProductRepository(); var newProduct = productRepository.Save(product); if (newProduct == null) { return Conflict(); } return Created<Product>(Request.RequestUri + newProduct.ProductId.ToString(), newProduct); } catch (Exception ex) { return InternalServerError(ex); } }
// PUT: api/Products/5 public IHttpActionResult Put(int id, [FromBody]Product product) { try { if (product == null) { return BadRequest("Product cannot be null"); } if (!ModelState.IsValid) { return BadRequest(ModelState); } var productRepository = new Models.ProductRepository(); var updatedProduct = productRepository.Save(id, product); if (updatedProduct == null) { return NotFound(); } return Ok(); } catch (Exception ex) { return InternalServerError(ex); } }