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; } } }