12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using Exam.Application;
- using Exam.Infrastructure.Data.Entity;
- using Exam.Insfrastructure.Service.Service;
- using Exam.Questions;
- using Exam.Share;
- using Hotline.Repository.SqlSugar;
- using Hotline.Repository.SqlSugar.Exam.Interfaces.Questions;
- using Hotline.Share.Dtos.Questions;
- using Hotline.Share.Requests.Question;
- using Mapster;
- using System.ComponentModel;
- using XF.Domain.Dependency;
- namespace Hotline.Application.Exam.Service.Questions
- {
- /// <summary>
- /// 关联课件服务
- /// </summary>
- [Description("关联课件服务")]
- public class QuestionSourcewareService : ApiService<QuestionSourceware, QuestionSourcewareDto,HotlineDbContext>,IQuestionSourcewareService, IScopeDependency
- {
- private readonly IQuestionSourcewareRepository _repository;
- public QuestionSourcewareService(IQuestionSourcewareRepository repository) : base(repository)
- {
- _repository = repository;
- }
- public async Task<QuestionSourcewareDto> GetAsync(EntityQueryRequest entityQueryRequest)
- {
- var entity = await _repository.GetAsync(entityQueryRequest.Id);
- return entity.Adapt<QuestionSourcewareDto>();
- }
- public async Task<(int, List<QuestionSourcewareViewResponse>)> GetListAsync(QuestionSourcewarePagedRequest queryRequest)
- {
- var query = _repository.Queryable();
- var result = await query.Select(m => new QuestionSourcewareViewResponse {
- QuestionId = m.QuestionId,
- SourcewareId = m.SourcewareId,
- Id = m.Id,
- }).ToListAsync();
- var total = await query.CountAsync();
- return (total,result);
- }
- public async Task<PageViewResponse<QuestionSourcewareViewResponse>> GetPagedListAsync(QuestionSourcewarePagedRequest queryRequest)
- {
- var expression = queryRequest.GetExpression();
- var questionSourcewareTable = _repository.Queryable().Where(expression);
- var queryable = questionSourcewareTable.Select((m) => new QuestionSourcewareViewResponse
- {
- QuestionId = m.QuestionId,
- SourcewareId = m.SourcewareId,
- Id = m.Id,
- });
- var list = await queryable.ToPageListAsync(queryRequest.PageIndex, queryRequest.PageSize);
- var total = await queryable.CountAsync();
- var result = new PageViewResponse<QuestionSourcewareViewResponse>
- {
- Items = list,
- Pagination = new Pagination(queryRequest.PageIndex, queryRequest.PageSize, total)
- };
- return result;
- }
- }
- }
|