private int getAmountForItem(String name, int orderQuantity) {
   int itemTotal = 0;
   ProductPrice productPrice = priceRuleDao.findPriceFor(name);
   if (productPrice == null) {
     throw new ProductUndefinedException();
   }
   if (productPrice.getSpecialPriceQty() > 0) {
     int amountAtSpecialPrice =
         (orderQuantity / productPrice.getSpecialPriceQty()) * productPrice.getSpecialPrice();
     int amountAtRegularPrice =
         (orderQuantity % productPrice.getSpecialPriceQty()) * productPrice.getPrice();
     itemTotal = amountAtSpecialPrice + amountAtRegularPrice;
   } else {
     itemTotal = orderQuantity * productPrice.getPrice();
   }
   return itemTotal;
 }
 /**
  * @param product item/product name
  * @param price item/product price
  * @param specialPriceQuantity Quantity at special price applicable - if zero, then not applicable
  * @param specialPrice Special price overrides the per unit price
  */
 @Override
 public void addPriceRule(String product, int price, int specialPriceQuantity, int specialPrice) {
   priceRuleDao.addProductPrice(product, price, specialPriceQuantity, specialPrice);
 }