public async Task <ExamTimeSimpleDto> Simple(ExamTimeQueryInput input) { //检查传入参数 if (!input.Id.HasValue) { throw new UserFriendlyException("传入Id参数不正确!"); } var result = await _examTimeRepository.FirstOrDefaultAsync(x => x.Id == input.Id.Value); if (result == null) { throw new UserFriendlyException("该条信息不存在!"); } return(result.MapTo <ExamTimeSimpleDto>()); }
public async Task <PagedResultDto <ExamTimeDto> > Query(ExamTimeQueryInput input) { //验证参数 if (!input.PageSize.HasValue) { throw new UserFriendlyException("传入PageSize参数不正确!"); } if (!input.Start.HasValue) { throw new UserFriendlyException("传入Start参数不正确!"); } //获取查询对象 var query = _examTimeRepository.GetAll(); //添加上课时间满足的时间范围的起始时间参数 if (input.BeginDateTime.HasValue) { query = query.Where(x => x.Start >= input.BeginDateTime.Value); } //添加上课时间满足的时间范围的结束时间参数 if (input.EndDateTime.HasValue) { query = query.Where(x => x.Start <= input.EndDateTime.Value); } //添加上课时间满足的时间范围的结束时间参数 if (input.TeacherId.HasValue) { //如果录入教师编号为-1则查询当前用户,否则根据传入teacherid查询 if (input.TeacherId.Value == -1) { if (!AbpSession.UserId.HasValue) { throw new UserFriendlyException("用户不存在,请重新登录。"); } query = query.Where(x => x.TeacherCourse.TeacherId == AbpSession.UserId.Value); } else { query = query.Where(x => x.TeacherCourse.TeacherId == input.TeacherId.Value); } } //获取总数 var totalcount = await Task.FromResult(query.Count()); //添加分页条件 if (input.PageSize.Value > 0) { query = query.OrderBy(x => x.CreationTime) .Skip(input.Start.Value).Take(input.PageSize.Value); } //执行查询 var courses = await Task.FromResult(query.ToList()); //包装为分页输出对象 return(new PagedResultOutput <ExamTimeDto>(totalcount, courses.MapTo <List <ExamTimeDto> >())); }