Ejemplo n.º 1
0
        public ActionResult GetTeacherByCourseList(int pIndex = 1)
        {
            int sysNo     = TempData["SysNo"] != null ? (int)TempData["SysNo"] : 0;
            int teacherId = 0;

            if (sysNo > 0)
            {
                var date = userService.GetAccountData().FirstOrDefault(c => c.SysNO == sysNo);
                if (date != null)
                {
                    teacherId = (int)date.Id;
                }
            }
            ViewBag.pageName = "TeacherByCourseList";
            var input = new GetCourseInfoInput
            {
                SkipCount      = (pIndex - 1) * PageSize,
                MaxResultCount = PageSize,
                TeacherId      = teacherId
            };
            var pagedata = courseInfoService.GetPagedCourseInfos(input);

            GetPageData(pagedata.TotalCount);
            return(PartialView("Shared/TeacherByCourseList", pagedata.Items));
        }
        /// <summary>
        /// 根据查询条件获取课程基本信息分页列表
        /// </summary>
        public PagedResultDto <CourseInfoListDto> GetPagedCourseInfoForWap(GetCourseInfoInput input)
        {
            var query = from info in _courseInfoRepository.GetAll()
                        .Where(t => t.Status != 1 && t.Status != 3).WhereIf(input.Type != 0, t => t.Type == input.Type).Where(t => t.DisplayPosition == 2 || t.DisplayPosition == 0)
                        join cate in _categoryRepository.GetAll().WhereIf((input.Path != string.Empty && input.Path != null && input.Path != "0"), t => t.Path.StartsWith(input.Path)) on info.CategoryType equals cate.CategoryId
                        into gc
                        from gci in gc
                        select new CourseInfoListDto()
            {
                Id                 = info.Id,
                CourseName         = info.CourseName,
                Description        = info.Description,
                Sort               = info.Sort,
                Enabled            = info.Enabled,
                Content            = info.Content,
                Type               = info.Type,
                StageName          = info.StageName,
                Status             = info.Status,
                ImageUrl           = info.ImageUrl,
                TeacherId          = info.TeacherId,
                TeacherName        = info.TeacherName,
                LiveStatus         = info.LiveStatus,
                StartTime          = info.StartTime,
                EndTime            = info.EndTime,
                CourseCategoryName = gci.CourseCategoryName,
                DisplayPosition    = info.DisplayPosition,
                ReadTimes          = info.ReadTimes,
                CollectionTimes    = info.CollectionTimes,
                Enrollment         = info.Enrollment,
                CreationTime       = info.CreationTime,
                PollId             = info.PollId,
                TypeName           = info.TypeName
            };
            //TODO:根据传入的参数添加过滤条件
            var courseInfoCount = query.Count();

            if (input.Sorting == null || input.Sorting == string.Empty)
            {
                query = query.OrderByDescending(t => t.CreationTime).OrderByDescending(t => t.Id);
            }
            if (input.Sorting == "ReadTimes")
            {
                query = query.OrderByDescending(t => t.ReadTimes);
            }
            if (input.Sorting == "CreationTime")
            {
                query = query.OrderByDescending(t => t.CreationTime);
            }

            var courseInfos = query
                              .PageBy(input)
                              .ToList();

            var courseInfoListDtos = courseInfos.MapTo <List <CourseInfoListDto> >();

            return(new PagedResultDto <CourseInfoListDto>(
                       courseInfoCount,
                       courseInfoListDtos
                       ));
        }
        //课程审核分页信息
        public ActionResult GetCheckCourseDataList(string txtcname = "", string txttname = "", int txttype = 0, int txtcate = 0, int pIndex = 1)
        {
            ViewBag.pageName = "GetCheckCourseDataList";
            var input = new GetCourseInfoInput()
            {
                FilterText  = txtcname,
                TeacherName = txttname,
                Type        = txttype,
                //CheckStatus = (int)CourseStatus.Pending,
                categoryType   = txtcate,
                SkipCount      = (pIndex - 1) * PageSize,
                MaxResultCount = PageSize
            };
            var pagedata = _coreInfoService.GetPagedCourseInfos(input);

            GetPageData(pagedata.TotalCount);
            return(PartialView("Shared/CheckCourseDataList", pagedata));
        }
        // 课程管理分页信息
        public ActionResult GetCurriManageDataList(string txtcname  = "", string txttname = "", int txttype = 0, int txtcate = 0,
                                                   int DepartmentId = 0, int jobPostId    = 0, int pIndex   = 1)
        {
            ViewBag.pageName = "GetCurriManageDataList";
            var input = new GetCourseInfoInput()
            {
                FilterText   = txtcname,
                TeacherName  = txttname,
                Type         = txttype,
                categoryType = txtcate,
                DepartmentId = DepartmentId,
                JobPostId    = jobPostId,
                SkipCount    = (pIndex - 1) * PageSize, MaxResultCount = PageSize
            };
            var pagedata = _coreInfoService.GetPagedCourseInfos(input);

            GetPageData(pagedata.TotalCount);
            return(PartialView("Shared/CurriManageDataList", pagedata));
        }
        public JsonResult GetCourseList(GetCourseInfoInput inpt)
        {
            var course = _courseInfoAppService.GetPagedCourseInfoForWap(inpt);

            return(Json(course, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// 根据查询条件获取课程基本信息分页列表
        /// </summary>
        public PagedResultDto <CourseInfoListDto> GetPagedCourseInfos(GetCourseInfoInput input)
        {
            var query = from info in _courseInfoRepository.GetAll()
                        join cate in _categoryRepository.GetAll() on info.CategoryType equals cate.CategoryId into gc
                        join teach in _teacherRepository.GetAll() on info.TeacherId equals teach.Id into tc

                        select new CourseInfoListDto()
            {
                Id                 = info.Id,
                CourseName         = info.CourseName,
                Description        = info.Description,
                Sort               = info.Sort,
                Enabled            = info.Enabled,
                Content            = info.Content,
                Type               = info.Type,
                StageName          = info.StageName,
                Status             = info.Status,
                ImageUrl           = info.ImageUrl,
                TeacherId          = info.TeacherId,
                TeacherName        = info.TeacherName,
                LiveStatus         = info.LiveStatus,
                StartTime          = info.StartTime,
                EndTime            = info.EndTime,
                CourseCategoryName = gc.FirstOrDefault().CourseCategoryName,
                DisplayPosition    = info.DisplayPosition,
                ReadTimes          = info.ReadTimes,
                CollectionTimes    = info.CollectionTimes,
                CategoryType       = gc.FirstOrDefault().CategoryId,
                DepartmentId       = tc.FirstOrDefault().DepartmentId,
                JobPostId          = tc.FirstOrDefault().JobpostId,
                CreationTime       = info.CreationTime,
                Enrollment         = info.Enrollment
            };

            //into urJoined from ur in urJoined.DefaultIfEmpty()
            //group info by info into userGrouped select userGrouped.Key;
            //TODO:根据传入的参数添加过滤条件
            if (!string.IsNullOrEmpty(input.FilterText))
            {
                query = query.Where(c => c.CourseName.Contains(input.FilterText));
            }
            if (!string.IsNullOrEmpty(input.TeacherName))
            {
                query = query.Where(c => c.TeacherName.Contains(input.TeacherName));
            }
            if (input.Type > 0)
            {
                query = query.Where(c => c.Type == input.Type);
            }
            if (input.categoryType > 0)
            {
                query = query.Where(c => c.CategoryType == input.categoryType);
            }
            if (input.CheckStatus > 0)
            {
                query = query.Where(c => c.Status == input.CheckStatus);
            }
            if (input.TeacherId > 0)
            {
                query = query.Where(c => c.TeacherId == input.TeacherId);
            }
            if (input.DepartmentId > 0)
            {
                query = query.Where(c => c.DepartmentId == input.DepartmentId);
            }
            if (input.JobPostId > 0)
            {
                query = query.Where(c => c.JobPostId == input.JobPostId);
            }

            var courseInfoCount = query.Count();
            var courseInfos     = query
                                  .OrderByDescending(t => t.CreationTime)
                                  .PageBy(input)
                                  .ToList();

            var courseInfoListDtos = courseInfos.MapTo <List <CourseInfoListDto> >();

            return(new PagedResultDto <CourseInfoListDto>(
                       courseInfoCount,
                       courseInfoListDtos
                       ));
        }