/*
 * Created on May 9, 2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package gov.va.med.esr.common.persistent.comms;

import java.math.BigDecimal;
import java.util.List;

import gov.va.med.fw.persistent.DAO;
import gov.va.med.fw.persistent.DAOException;
import gov.va.med.fw.persistent.DAOOperations;

import gov.va.med.esr.common.model.comms.AacLetterRequest;

/**
 * @author DNS   TSAIG
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public interface AacLetterRequestDAO extends DAO {
    
    public void  setDao(DAOOperations dao);
    
	AacLetterRequest findAacLetterRequestById(BigDecimal requestId) throws DAOException;
    
    AacLetterRequest findAacLetterRequestByUniqueCode(String uniqueCode) throws DAOException;
    
	List findAacLetterRequestByPartyId(BigDecimal partyId) throws DAOException;
	
	List findAacLetterRequestBetweenRequestIds(BigDecimal startId, BigDecimal endId) throws DAOException;
    
    List findAacLetterRequestBetweenRequestIdsByBatch(BigDecimal startId,BigDecimal endId, int fetchSize) throws DAOException;

	List findAacLetterRequestsByLogId(BigDecimal logId) throws DAOException;
	
	void insert(AacLetterRequest request)  throws DAOException;
	
	void deleteById(AacLetterRequest request) throws DAOException;
    
    public void mergeObject(AacLetterRequest request)  throws DAOException;
    
	List findCmsLetterRequests() throws DAOException;    
}
