namespace YBEE.EQM.Application;

/// <summary>
/// 监测年级管理服务
/// </summary>
public interface IExamGradeService
{
    /// <summary>
    /// 批量添加监测年级
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task AddList(AddExamGradeListInput input);
    /// <summary>
    /// 移出监测年级
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task Remove(DelExamGradeInput input);
    /// <summary>
    /// 保存监测年级设置
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task SaveSetting(ExamGradeSettingInput input);
    /// <summary>
    /// 根据ID获取监测年级
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task<ExamGradeOutput> GetById(int id);
    /// <summary>
    /// 根据监测计划ID获取全部监测年级
    /// </summary>
    /// <param name="examPlanId"></param>
    /// <returns></returns>
    Task<List<ExamGradeOutput>> GetListByExamPlanId(int examPlanId);
    /// <summary>
    /// 根据监测计划和年级ID获取监测年级信息
    /// </summary>
    /// <param name="examPlanId"></param>
    /// <param name="gradeId"></param>
    /// <returns></returns>
    Task<ExamGradeOutput> GetByExamPlanGradeId(int examPlanId, int gradeId);
}
