namespace YBEE.EQM.Application;

/// <summary>
/// 监测年级管理服务
/// </summary>
[ApiDescriptionSettings(Name = "exam-grade")]
[Route("exam/grade")]
public class ExamGradeAppService : IDynamicApiController
{
    private readonly IExamGradeService _examGradeService;
    public ExamGradeAppService(IExamGradeService examGradeService)
    {
        _examGradeService = examGradeService;
    }

    /// <summary>
    /// 批量添加监测年级
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public async Task AddList(AddExamGradeListInput input)
    {
        await _examGradeService.AddList(input);
    }
    /// <summary>
    /// 移出监测年级
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public async Task Remove(DelExamGradeInput input)
    {
        await _examGradeService.Remove(input);
    }
    /// <summary>
    /// 保存监测年级设置
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public async Task SaveSetting(ExamGradeSettingInput input)
    {
        await _examGradeService.SaveSetting(input);
    }
    /// <summary>
    /// 根据ID获取监测年级
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    public async Task<ExamGradeOutput> GetById(int id)
    {
        return await _examGradeService.GetById(id);
    }
    /// <summary>
    /// 根据监测计划ID获取全部监测年级
    /// </summary>
    /// <param name="examPlanId"></param>
    /// <returns></returns>
    public async Task<List<ExamGradeOutput>> GetListByExamPlanId([FromQuery][Required] int examPlanId)
    {
        return await _examGradeService.GetListByExamPlanId(examPlanId);
    }
}
