Skip to content
Snippets Groups Projects
VerifyClaimAction.java 1.9 KiB
Newer Older
  • Learn to ignore specific revisions
  • HMoss's avatar
    HMoss committed
    package edu.ncsu.csc.itrust.action;
    
    import edu.ncsu.csc.itrust.beans.BillingBean;
    import edu.ncsu.csc.itrust.beans.OfficeVisitBean;
    import edu.ncsu.csc.itrust.dao.DAOFactory;
    import edu.ncsu.csc.itrust.dao.mysql.BillingDAO;
    import edu.ncsu.csc.itrust.dao.mysql.OfficeVisitDAO;
    import edu.ncsu.csc.itrust.exception.DBException;
    
    /**
     * VerifyClaimAction handles the interaction between a user and the
     * DAOs. 
     */
    public class VerifyClaimAction {
    	/**The DAO to access the billing table*/
    	private BillingDAO billAccess;
    	/**The DAO to access the office visits DAO*/
    	private OfficeVisitDAO ovAccess;
    	/**The bill that we are verifying*/
    	private BillingBean bill;
    	/**The office visit associated with the bill*/
    	private OfficeVisitBean ov;
    	
    	/**
    	 * VerifyClaimAction simply initializes the instance variables.
    	 * @param factory The DAO factory
    	 * @param bID The ID of the bill.
    	 */
    	public VerifyClaimAction(DAOFactory factory, long bID){
    		billAccess = factory.getBillingDAO();
    		ovAccess = factory.getOfficeVisitDAO();
    		try {
    			bill = billAccess.getBillId(bID);
    			ov = ovAccess.getOfficeVisit(bill.getApptID());
    		} catch (DBException e) {
    			e.printStackTrace();
    		}
    	}
    	
    	/**
    	 * getBill returns the bill we are handling.
    	 * @return The billing bean.
    	 */
    	public BillingBean getBill(){
    		return this.bill;
    	}
    	
    	/**
    	 * getOV returns the office visit we are handling.
    	 * @return The office visit bean.
    	 */
    	public OfficeVisitBean getOV(){
    		return this.ov;
    	}
    	
    	/**
    	 * denyClaim handles the user choosing to deny the claim.
    	 */
    	public void denyClaim(){
    		bill.setStatus("Denied");
    		try {
    			this.billAccess.editBill(bill);
    		} catch (DBException e) {
    			e.printStackTrace();
    		}
    	}
    	
    	/**
    	 * approveClaim handles the user choosing to approve the claim.
    	 */
    	public void approveClaim(){
    		bill.setStatus("Approved");
    		try {
    			this.billAccess.editBill(bill);
    		} catch (DBException e) {
    			e.printStackTrace();
    		}
    	}
    }