@FXML
    private void handleBtnRegisterAction(ActionEvent event) {
        if (!validate()) {
            return;
        }

        String itemCode = txtBarCode.getText();
        Item item = select(itemCode);

        if (item == null) {
            String insert = "INSERT INTO Item (ItemCode, Name, Price, SupplierCode, BumonCode) VALUES (?, ?, ?, ?, ?);";
            getPersist().executeUpdate(insert, itemCode, txtItemName.getText(), txtPrice.getText(),
                    cobSuppliers.getSupplierCode(), cobBumon.getBumonCode());
        } else {
            item.setName(txtItemName.getText());
            item.setPrice(txtPrice.getText());
            item.setSupplierCode(cobSuppliers.getSupplierCode());
            item.setBumonCode(cobBumon.getBumonCode());
            getPersist().update(item);
        }

        txtBarCode.requestFocus();
        txtBarCode.clear();
        txtItemName.clear();
        txtPrice.clear();
        cobSuppliers.setValue(null);
        cobBumon.setValue(null);
        showSuccessMessage();
        clearIndicator();
    }