using Exam.Application.Interface.Exam;
using Exam.Application.Interface.TestPapers;
using Exam.Infrastructure.Data.Entity;
using Exam.Share.ViewResponses.Exam;
using Exam.Share.ViewResponses.TestPaper;
using Hotline.Application.Exam.Constants.ApiRoutes;
using Hotline.Share.Dtos.TestPapers;
using Hotline.Share.Requests.Exam;
using Hotline.Share.ViewResponses.Exam;
using Microsoft.AspNetCore.Mvc;
namespace Hotline.Api.Controllers.Exam
{
public class TestPaperController : BaseController
{
private readonly ITestPaperService _testPaperService;
public TestPaperController(ITestPaperService testPaperService)
{
_testPaperService = testPaperService;
}
///
/// 新增试卷
///
///
///
[HttpPost(TestPaperApiRoute.Add)]
public async Task Add([FromBody] AddTestPaperDto extractRuleDto)
{
await _testPaperService.AddAsync(extractRuleDto, HttpContext.RequestAborted);
}
///
/// 修改试卷
///
///
///
[HttpPut(TestPaperApiRoute.Update)]
public async Task Update([FromBody] UpdateTestPaperDto extractRuleDto)
{
await _testPaperService.UpdateAsync(extractRuleDto, HttpContext.RequestAborted);
}
///
/// 删除试卷
///
///
///
[HttpDelete(TestPaperApiRoute.Delete)]
public async Task Delete(EntityQueryRequest entityQueryRequest)
{
await _testPaperService.DeleteAsync(entityQueryRequest, HttpContext.RequestAborted);
}
///
/// 获取课件分页列表
///
///
///
[HttpPost(TestPaperApiRoute.GetPagedList)]
public async Task GetPagedList([FromBody] TestPaperPagedRequest sourcewarePagedRequest)
{
var sourcewarePageViewResponse = await _testPaperService.GetPagedListAsync(sourcewarePagedRequest);
return sourcewarePageViewResponse as TestPaperPageViewResponse;
}
///
/// 获取课件分类
///
///
///
[HttpGet(TestPaperApiRoute.Get)]
public async Task Get(string id)
{
var extractRuleDto = await _testPaperService.GetAsync(new EntityQueryRequest
{
Id = id
});
return extractRuleDto;
}
///
/// 获取课件分页列表
///
///
[HttpGet(TestPaperApiRoute.Count)]
public async Task> GetPagedList([FromQuery] TestPaperQuestionCountRequest testPaperQuestionCountRequest)
{
var testPaperQuestionCountViewResponses = await _testPaperService.GetTestPaperQuestionCount(testPaperQuestionCountRequest);
return testPaperQuestionCountViewResponses;
}
}
}