public ActionResult Edit(Product productToEdit)
 {
     try
     {
         _repository.Edit<Product>(productToEdit);
         return RedirectToAction("Index");
     }
     catch
     {
         return View();
     }
 }
 public ActionResult Delete(Product productToDelete)
 {
     try
     {
         _repository.Delete<Product>(productToDelete);
         return RedirectToAction("Index");
     }
     catch
     {
         return View();
     }
 }
 partial void DeleteProduct(Product instance);
 partial void UpdateProduct(Product instance);
 partial void InsertProduct(Product instance);