using YBEE.EQM.Core;

namespace YBEE.EQM.Application;

/// <summary>
/// 监测科目管理服务
/// </summary>
public interface IExamCourseService
{
    /// <summary>
    /// 添加监测科目
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task Add(AddExamCourseInput input);
    /// <summary>
    /// 更新监测科目
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task Update(UpdateExamCourseInput input);
    /// <summary>
    /// 删除监测科目
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task Del(BaseId input);
    /// <summary>
    /// 根据ID获取监测科目信息
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task<ExamCourseOutput> GetById(int id);
    /// <summary>
    /// 查询监测年级列表
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<List<ExamCourseOutput>> QueryList(QueryExamCourseInput input);
    /// <summary>
    /// 查询监测学科列表
    /// </summary>
    /// <param name="examPlanId"></param>
    /// <returns></returns>
    Task<List<ExamCourseOutput>> GetListByExamPlanId(int examPlanId);
}
