public ActionResult DeleteConfirmed(ProductViewModel productViewModel) { productViewModel.operationType = OperationType.Delete; if (ModelState.IsValid) { if (productViewModel == null) { return(HttpNotFound("Product not found to delete!")); } string _productName = productViewModel.productModel.Name; _productModelFactory.deleteProduct(productViewModel); ///---if error deleting product if (productViewModel.operationStatus == OperationStatus.Error) { //return HttpNotFound(productViewModel.OperationMessage); var productTypeModelList = _productModelFactory.GetProductTypes(); if (productTypeModelList != null) { productViewModel.productTypeModel = productTypeModelList; } TempData["errorMessage"] = string.Format("Error deleting product \"{0}\"!, {1}", productViewModel.productModel.Name, productViewModel.OperationMessage); return(View("ProductForm", productViewModel)); } TempData["message"] = string.Format("Product \"{0}\" has been deleted!", _productName); return(RedirectToAction("List")); } else { var productTypeModelList = _productModelFactory.GetProductTypes(); if (productTypeModelList != null) { productViewModel.productTypeModel = productTypeModelList; } return(View("ProductForm", productViewModel)); } }