public IHttpActionResult Delete(int id)
 {
     if (id <= 0)
     {
         return(BadRequest("Not a valid student id"));
     }
     using (var ctx = new ProductStoreDB())
     {
         var product = ctx.Products
                       .Where(p => p.ProductID == id)
                       .FirstOrDefault();
         ctx.Entry(product).State = System.Data.Entity.EntityState.Deleted;
         ctx.SaveChanges();
     }
     return(Ok());
 }
 public IHttpActionResult PostNewProduct(ProductDTO productDTO)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest("Invalid data."));
     }
     using (var ctx = new ProductStoreDB())
     {   //get new product form productDTO
         Product product = GetNewProduct(productDTO);
         if (product != null)
         {
             ctx.Products.Add(product);
             ctx.SaveChanges();
             return(Ok());
         }
         return(BadRequest("Invalid data."));
     }
 }
 public IHttpActionResult PutProduct(ProductDTO product)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest("Not a valid model"));
     }
     using (var ctx = new ProductStoreDB())
     {
         var existingProduct = ctx.Products
                               .Where(p => p.ProductID == product.ProductID)
                               .FirstOrDefault <Product>();
         if (existingProduct != null)
         {
             if (UpdateProduct(existingProduct, product))
             {
                 ctx.SaveChanges();
                 return(Ok());
             }
             return(BadRequest("Not a valid model")); //CategoryName Invalid
         }
         return(NotFound());                          //Product not found
     }
 }