using YBEE.EQM.Core;

namespace YBEE.EQM.Application;

/// <summary>
/// 学期信息管理服务
/// </summary>
public interface ISemesterService
{
    /// <summary>
    /// 添加学期
    /// </summary>
    /// <returns></returns>
    Task Add();
    /// <summary>
    /// 设置当前学期
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task SetCurrent(BaseId<short> input);
    /// <summary>
    /// 根据ID获取单个学期
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task<SemesterOutput> GetById(int id);
    /// <summary>
    /// 获取当前学期
    /// </summary>
    /// <returns></returns>
    Task<SemesterOutput> GetCurrent();
    /// <summary>
    /// 获取全部学期信息列表
    /// </summary>
    /// <returns></returns>
    Task<List<SemesterOutput>> GetAllList();
}
