Beispiel #1
0
        public async Task <ActionResult> SearchSortFilter(int courseId, int pageNumber, StudyMaterialSortingCriteria sortCriteria, string searchFor, int[] categories)
        {
            int totalNumberOfItems = await _studyMaterialManagementService.Count(courseId, searchFor, categories);

            PageInformation pageinformation = new PageInformation(pageNumber, totalNumberOfItems, WebConstants.MAX_NUMBER_OF_STUDY_MATERIALS_PER_PAGE);
            List <StudyMaterialViewModel> detailedStudyMaterialViewModels = await GetDetailedStudyMaterials(courseId, pageinformation.PageNumber, sortCriteria, searchFor, categories);

            CourseStudyMaterialsViewModel mainModel = new CourseStudyMaterialsViewModel(courseId, detailedStudyMaterialViewModels, pageinformation);

            await SetViewInformation(courseId, HttpReponseStatusCode.NoStatus, searchFor, sortCriteria, categories);

            return(View("Course", mainModel));
        }
Beispiel #2
0
        /// <summary>
        /// Returns index page of specific course, with its study materials. By default, no sorting or filtering
        /// is included.
        /// </summary>
        /// <param name="courseId"></param>
        /// <returns></returns>
        public async Task <IActionResult> Course(int courseId, HttpReponseStatusCode statusCode = HttpReponseStatusCode.NoStatus)
        {
            int totalNumberOfItems = await _studyMaterialManagementService.Count(courseId);

            PageInformation pageInformation = new PageInformation(0, totalNumberOfItems, WebConstants.MAX_NUMBER_OF_STUDY_MATERIALS_PER_PAGE);
            List <StudyMaterialViewModel> detailedStudyMaterialViewModels = await GetDetailedStudyMaterials(courseId);

            CourseStudyMaterialsViewModel mainModel = new CourseStudyMaterialsViewModel(courseId, detailedStudyMaterialViewModels, pageInformation);

            int[] selectedCategories = (await _categoryService.GetAll <NoSorting>(x => x.CourseId == courseId && !x.Deleted))
                                       .Select(x => x.CategoryId)
                                       .ToArray();
            await SetViewInformation(courseId, statusCode, categories : selectedCategories);

            return(View(mainModel));
        }