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