001    /**
002     * 
003     */
004    package org.apache.geronimo.samples.inventory.services;
005    
006    import java.util.List;
007    
008    import org.apache.geronimo.samples.inventory.Item;
009    import org.apache.geronimo.samples.inventory.dao.ItemDAO;
010    import org.apache.geronimo.samples.inventory.exception.DuplicateItemIdException;
011    import org.apache.geronimo.samples.inventory.exception.NotSufficientQuantityException;
012    
013    
014    public class InventoryManager {
015            
016            public List getItems(){
017                    ItemDAO dao = new ItemDAO();
018                    return dao.getItems();
019            }
020            
021            public void issueItem(String itemNo, int quantity) throws NotSufficientQuantityException{
022                    ItemDAO dao = new ItemDAO();
023                    
024                    int qoh = dao.getQOH(itemNo);
025                    
026                    if(qoh < quantity)throw new NotSufficientQuantityException();
027                    
028                    dao.updateQOH(itemNo,(qoh - quantity));
029            }
030            
031            public void recvItem(String itemNo, int quantity){
032                    ItemDAO dao = new ItemDAO();
033                    
034                    int qoh = dao.getQOH(itemNo);
035                    
036                    dao.updateQOH(itemNo,(qoh + quantity));         
037            }
038            
039            public void addItem(String itemNo, String itemName, String desc) throws DuplicateItemIdException{
040                    ItemDAO dao = new ItemDAO();
041                    
042                    if(dao.isItemIdExists(itemNo))throw new DuplicateItemIdException();
043                    Item item = new Item();
044                    
045                    item.setItemNo(itemNo);
046                    item.setItemName(itemName);
047                    item.setDescription(desc);
048                    
049                    dao.addItem(item);
050                    
051            }
052    
053    }