using YBEE.EQM.Core;

namespace YBEE.EQM.Application;

/// <summary>
/// 科目基础数据管理服务
/// </summary>
public interface ICourseService
{
    /// <summary>
    /// 添加科目
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task Add(AddCourseInput input);
    /// <summary>
    /// 更新科目
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task Update(UpdateCourseInput input);
    /// <summary>
    /// 删除科目
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task Del(BaseId input);
    /// <summary>
    /// 根据ID获取单个科目
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task<CourseOutput> GetById(int id);
    /// <summary>
    /// 获取全部科目完整信息列表
    /// </summary>
    /// <returns></returns>
    Task<List<CourseOutput>> GetAllList();
    /// <summary>
    /// 获取全部科目简要信息列表
    /// </summary>
    /// <returns></returns>
    Task<List<CourseLiteOutput>> GetAllLiteList();
}
