using Microsoft.AspNetCore.Mvc;
using Tiobon.Core.Common;
using Tiobon.Core.IServices.BASE;
using Tiobon.Core.Model;
using Tiobon.Core.Model.Models;

namespace Tiobon.Core.IServices;

/// <summary>
/// 试卷(自定义服务接口)
/// </summary>	
public interface IGhre_ExamPaperServices : IBaseServices<Ghre_ExamPaper, Ghre_ExamPaperDto, InsertGhre_ExamPaperInput, EditGhre_ExamPaperInput>
{
    Task<ServiceResult<DefaultGhre_ExamPaperInput>> QueryDefault(long Id);

    Task<ServiceResult<InsertExamPaperConfigInput>> InsertConfig(InsertGhre_ExamPaperConfigInput insert);
    Task<ServiceResult<long>> Insert1([FromBody] DefaultGhre_ExamPaperPageData insert);
    Task<ServiceResult> Update1(long id, DefaultGhre_ExamPaperPageData insertModel);

    Task<ServiceResult> UpdateStatus(long[] ids, string status);

    Task<ServicePageResult<Ghre_ExamPaperDto>> QueryList(QueryBody body, string status, List<long> ids = null);

    Task<ServiceResult<CommonSelect>> GetSelectAsync(long? linkId, string KeyWords);

    Task<ServiceResult<ExcelData>> ExportExcel(QueryExport body, string status);

    Task<ServiceResult> Copy(long id);
}