/// <summary>
        /// 获取写生课列表
        /// <para>作    者:郭伟佳</para>
        /// <para>创建时间:2019-01-17</para>
        /// </summary>
        /// <param name="searcher">写生列表查询条件</param>
        /// <returns>写生课信息分页列表</returns>
        public PageResult <LifeClassListResponse> GetPagerList(LifeClassListSearchRequest searcher)
        {
            var result = new PageResult <LifeClassListResponse>()
            {
                Data = new List <LifeClassListResponse>()
            };
            var lifeClassList = _tblTimLifeClassRepository.Value.GetLifeClassListAsync(this._schoolId, searcher);

            if (lifeClassList != null && lifeClassList.Data != null && lifeClassList.Data.Count > 0)
            {
                var         teacherInfo       = EmployeeService.GetAllBySchoolId(this._schoolId);
                List <long> businessIdList    = lifeClassList.Data.Select(a => a.LifeClassId).ToList();
                var         studentLessonInfo = _tblTimLessonRepository.Value.GetStudentLessonListAsync(this._schoolId, businessIdList);
                result.Data = lifeClassList.Data.Select(a => new LifeClassListResponse
                {
                    LifeTimeId     = a.LifeClassId,
                    Title          = a.Title,
                    ClassBeginDate = a.ClassBeginTime.Value,
                    ClassEndTime   = a.ClassEndTime.Value,
                    LifeClassCode  = a.LifeClassCode,
                    PersonNumber   = studentLessonInfo.Count(s => s.BusinessId == a.LifeClassId && s.BusinessType == (int)LessonBusinessType.LifeClassMakeLesson && s.Status == (int)LessonUltimateStatus.Normal),
                    Place          = a.Place,
                    TeacherId      = a.TeacherId,
                    TeacherName    = teacherInfo.FirstOrDefault(t => t.EmployeeId == a.TeacherId)?.EmployeeName,
                    UseLessonCount = a.UseLessonCount
                }).ToList();
                result.CurrentPage = lifeClassList.CurrentPage;
                result.PageSize    = lifeClassList.PageSize;
                result.TotalData   = lifeClassList.TotalData;
            }
            return(result);
        }
        /// <summary>
        /// 根据校区Id和请求参数分页获取写生课排课分页列表
        /// <para>作    者:郭伟佳</para>
        /// <para>创建时间:2018-11-07</para>
        /// </summary>
        /// <param name="schoolId">校区Id</param>
        /// <param name="request">写生列表查询条件</param>
        /// <returns>写生课排课分页列表</returns>
        public PageResult <TblTimLifeClass> GetLifeClassListAsync(string schoolId, LifeClassListSearchRequest request)
        {
            var query = LoadQueryable().Where(a => a.SchoolId == schoolId && a.TermId == request.TermId &&
                                              (string.IsNullOrEmpty(request.Title) || a.Title.Contains(request.Title)))
                        .OrderBy(a => a.ClassBeginTime);

            return(query.ToPagerSource(request.PageIndex, request.PageSize));
        }
 public PageResult <LifeClassListResponse> Get([FromQuery] LifeClassListSearchRequest searcher)
 {
     return(new LifeClassService(base.SchoolId).GetPagerList(searcher));
 }