$productModel = new ProductModel();
$productModel->_setProductName($productDetails->productname);
$productModel->_setProductAbbrevations($productDetails->abbrevation);
$productModel->_setProductUnitOfMeasure($productDetails->unitofmeasure);
$productModel->_setProductAlertQty($productDetails->alertquantity);
$productModel->_setProductColor($productDetails->color);
$productModel->_setProductDescription($productDetails->description);
$productModel->_setProductPackaging($productDetails->packaging);
$productModel->_setProductType($productDetails->materialtypeid);
$productModel->_setProductOperation($productDetails->opertaion);
$productObj = new Product($productModel);
switch ($productDetails->opertaion) {
    case 'insert':
        # code...
        if (!$productObj->isAvailable($dbh)) {
            $productObj->insertProductInToDb($dbh, $userId);
        } else {
            $showAlerts->showAlert("Failure", "Product you are trying to add is already added");
        }
        break;
    case 'delete':
        # code...
        //$productObj = new Product();
        $productObj->deleteProduct($dbh, $userId, $productDetails);
        break;
    case 'modify':
        if ($productDetails->isProductMasterTable || $productDetails->isProductDetailsTable || $productDetails->isProductPackagingTable || $productDetails->isProductMaterialTable) {
            $productObj->updateProduct($dbh, $userId, $productDetails);
        } else {
            $showAlerts->showAlert('Failure', "Nothing to update");
        }