package incheon.ags.por.service;

import java.util.List;

import incheon.ags.por.vo.PorBoardVO;

/**
 * 게시판 관리를 위한 서비스 인터페이스
 */
public interface PorBoardService {

    /**
     * 게시판 목록 총건수를 조회한다.
     * @param PorBoardVO - 조회할 정보가 담긴 VO
     * @return 게시물 목록
     * @exception Exception
     */
    public int selectBoardListCount(PorBoardVO porBoardVO) throws Exception;
    
    /**
     * 게시판 목록을 조회한다.
     * @param PorBoardVO - 조회할 정보가 담긴 VO
     * @return 게시물 목록
     * @exception Exception
     */
    public List<PorBoardVO> selectBoardList(PorBoardVO porBoardVO) throws Exception;
    
    /**
     * 게시판 상세정보를 조회한다.
     * @param PorBoardVO - 조회할 정보가 담긴 VO
     * @return 게시물 상세정보
     * @exception Exception
     */
    public PorBoardVO selectBoardDetail(PorBoardVO porBoardVO) throws Exception;
    
    /**
     * 게시판을 등록한다.
     * @param PorBoardVO - 등록할 정보가 담긴 VO
     * @return 등록된 게시물 ID
     * @exception Exception
     */
    public Long insertBoard(PorBoardVO porBoardVO) throws Exception;
    
    /**
     * 게시판을 수정한다.
     * @param PorBoardVO - 수정할 정보가 담긴 VO
     * @return void
     * @exception Exception
     */
    public Integer updateBoard(PorBoardVO porBoardVO) throws Exception;
    
    /**
     * 게시판을 삭제한다.
     * @param PorBoardVO - 삭제할 정보가 담긴 VO
     * @return void
     * @exception Exception
     */
    public Integer deleteBoard(PorBoardVO porBoardVO) throws Exception;
    
    /**
     * 게시판 목록을 조회한다.
     * @param PorBoardVO - 조회할 정보가 담긴 VO
     * @return 게시판 목록
     * @exception Exception
     */
    public List<PorBoardVO> selectBoardMasterList(PorBoardVO porBoardVO) throws Exception;
} 