package itn.let.cop.bbs.service;

import java.util.List;
import java.util.Map;

import egovframework.rte.psl.dataaccess.util.EgovMap;
import itn.com.cmm.ComDefaultVO;

/**
 * 게시판 속성관리를 위한 서비스 인터페이스 클래스
 * @author 공통 서비스 개발팀 이삼섭
 * @since 2009.03.12
 * @version 1.0
 * @see
 *  
 * <pre>
 * << 개정이력(Modification Information) >>
 * 
 *   수정일      수정자          수정내용
 *  -------    --------    ---------------------------
 *  2009.03.12  이삼섭          최초 생성
 *  2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성 
 *  
 *  </pre>
 */
public interface EgovBBSAttributeManageService {

	/**
	 * 등록된 게시판 속성정보를 삭제한다.
	 * @param BoardMaster
	 * 
	 * @param boardMaster
	 * @exception Exception Exception
	 */
	public void deleteBBSMasterInf(BoardMaster boardMaster)
	  throws Exception;

	/**
	 * 신규 게시판 속성정보를 생성한다.
	 * @param BoardMaster
	 * 
	 * @param boardMaster
	 * @exception Exception Exception
	 */
	public String insertBBSMastetInf(BoardMaster boardMaster)
	  throws Exception;

	/**
	 * 유효한 게시판 마스터 정보를 호출한다.
	 * @param searchVO
	 * @return
	 * 
	 * @param vo
	 * @exception Exception Exception
	 */
	public List<BoardMasterVO> selectAllBBSMasteInf(BoardMasterVO vo)
	  throws Exception;

	/**
	 * 게시판 속성정보 한 건을 상세조회한다.
	 * @param BoardMasterVO
	 * 
	 * @param searchVO
	 * @exception Exception Exception
	 */
	public BoardMasterVO selectBBSMasterInf(BoardMasterVO searchVO)
	  throws Exception;

	/**
	 * 게시판 속성 정보의 목록을 조회 한다.
	 * @param BoardMasterVO
	 * 
	 * @param searchVO
	 * @exception Exception Exception
	 */
	public Map<String, Object> selectBBSMasterInfs(BoardMasterVO searchVO)
	  throws Exception;

	/**
	 * 게시판 속성정보를 수정한다.
	 * @param BoardMaster
	 * 
	 * @param boardMaster
	 * @exception Exception Exception
	 */
	public void updateBBSMasterInf(BoardMaster boardMaster)
	  throws Exception;

    /**
     * 게시판 관리자ID 목록을 조회한다.
	 * @param BoardMaster
	 * 
	 * @param boardMaster
	 * @exception Exception Exception
     */
    public List<EgovMap> selectBBSMngIdList(BoardMaster vo) throws Exception;

    /**
     * 게시판 관리자 정보를 등록한다.
	 * @param BoardMaster
	 * 
	 * @param boardMaster
	 * @exception Exception Exception
     */
    public int insertBBSMngInf(BoardMaster boardMaster) throws Exception;

    /**
     * 게시판 관리자 정보를 삭제한다.
	 * @param BoardMaster
	 * 
	 * @param boardMaster
	 * @exception Exception Exception
     */
    public void deleteBBSMngInf(BoardMaster boardMaster) throws Exception;
    
    /**
     * 게시판 ID 정보의 목록을 조회 한다.
	 * @param ComDefaultVO
	 * @param searchVO
	 * @exception Exception Exception
     */
    public Map<String, Object> selectBBSIdList(ComDefaultVO searchVO) throws Exception;

	public void insupNoticeBbsid(BoardMaster boardMaster) throws Exception;

	public void insupQnaBbsid(BoardMaster boardMaster) throws Exception;

	public void insupNewsBbsid(BoardMaster boardMaster) throws Exception;

	public BoardMaster getSiteMainNbsVO(BoardMasterVO searchVO) throws Exception;

	public void insupLibraryBbsid(BoardMaster boardMaster) throws Exception;

	public List<BoardMasterVO> selectMenuBbs(BoardMasterVO boardMasterVO) throws Exception;

	public void updateMenuBbs(BoardMasterVO boardMasterVO) throws Exception;

	public List<BoardMasterVO> selectBBSMenuByUrl(BoardMasterVO boardMasterVO) throws Exception;

	public int selectBBSMngInfCnt(BoardMasterVO bmVO) throws Exception;

	public BoardMasterVO selectBbsIdByNttId(BoardVO boardVO) throws Exception;

	public List<BoardVO> selectBbsAdmin(BoardVO bbsVO) throws Exception;

}