using Exam.Infrastructure.Data.Entity;
using Exam.Share;
using Exam.Share.ViewResponses.Exam;
using Hotline.Exams.ExamManages;
using Hotline.Repository.SqlSugar.Exam.Interface;
using Hotline.Share.Requests.Exam;
using Microsoft.AspNetCore.Http;

namespace Hotline.Application.Exam.Interface.ExamManages
{
    public interface IExamManageService:IQueryService<ExamManageViewResponse,ExamManageDto,ExamManagePagedRequest>,IApiService<AddExamManageDto,UpdateExamManageDto,ExamManage>
    {
        /// <summary>
        /// 组卷
        /// </summary>
        /// <param name="generateExamTestPaperRequest"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public Task GenerateTestPaper(GenerateExamTestPaperRequest generateExamTestPaperRequest, CancellationToken cancellationToken);
        
        /// <summary>
        /// 更新考试状态
        /// </summary>
        /// <param name="entityQueryRequest"></param>
        /// <param name="requestAborted"></param>
        /// <returns></returns>
        public Task UpdateExamStatus(EntityQueryRequest entityQueryRequest, CancellationToken requestAborted);
    }
}
