Beispiel #1
0
        public async Task <IActionResult> QuizzesAll(string searchText, string searchCriteria, int page = 1, int countPerPage = PerPageDefaultValue)
        {
            var model = new QuizzesAllListingViewModel()
            {
                CurrentPage  = page,
                PagesCount   = 0,
                SearchType   = searchCriteria,
                SearchString = searchText,
            };

            var allQuizzesCount = await this.quizzesService.GetAllQuizzesCountAsync(null, searchCriteria, searchText);

            if (allQuizzesCount > 0)
            {
                var quizzes = await this.quizzesService.GetAllPerPageAsync <QuizListViewModel>(page, countPerPage, null, searchCriteria, searchText);

                var timeZoneIana = this.Request.Cookies[GlobalConstants.Coockies.TimeZoneIana];
                foreach (var quiz in quizzes)
                {
                    quiz.CreatedOnDate = this.dateTimeConverter.GetDate(quiz.CreatedOn, timeZoneIana);
                }

                model.PagesCount = (int)Math.Ceiling(allQuizzesCount / (decimal)countPerPage);
                model.Quizzes    = quizzes;
            }

            return(this.View(model));
        }
Beispiel #2
0
        public async Task <IActionResult> AllQuizzesCreatedByTeacher(string categoryId, string searchCriteria, string searchText, int page = 1, int countPerPage = DefaultCountPerPage)
        {
            var userId = this.userManager.GetUserId(this.User);

            var model = new QuizzesAllListingViewModel
            {
                Categories      = await this.categoriesService.GetByCreatorIdAsync <CategorySimpleViewModel>(userId),
                CurrentCategory = categoryId == null ? null : await this.categoriesService.GetByIdAsync <CategorySimpleViewModel>(categoryId),
                CurrentPage     = page,
                PagesCount      = 0,
                SearchType      = searchCriteria,
                SearchString    = searchText,
            };

            var allQuizzesCreatedByTeacherCount = await this.quizzesService.GetAllQuizzesCountAsync(userId, searchCriteria, searchText, categoryId);

            if (allQuizzesCreatedByTeacherCount > 0)
            {
                var quizzes = await this.quizzesService.GetAllPerPageAsync <QuizListViewModel>(page, countPerPage, userId, searchCriteria, searchText, categoryId);

                model.Quizzes    = quizzes;
                model.PagesCount = (int)Math.Ceiling(allQuizzesCreatedByTeacherCount / (decimal)countPerPage);
            }

            return(this.View(model));
        }
Beispiel #3
0
        public async Task <IActionResult> AllQuizzesCreatedByTeacher(string categoryId, string searchText, string searchCriteria, int page = 1, int countPerPage = PerPageDefaultValue)
        {
            var userId = this.userManager.GetUserId(this.User);

            var model = new QuizzesAllListingViewModel()
            {
                CurrentPage     = page,
                PagesCount      = 0,
                SearchType      = searchCriteria,
                SearchString    = searchText,
                Categories      = await this.categoriesService.GetAllByCreatorIdAsync <CategorySimpleViewModel>(userId),
                CurrentCategory = categoryId == null ? null : await this.categoriesService.GetByIdAsync <CategorySimpleViewModel>(categoryId),
            };

            var allQuizzesCreatedByTeacher = await this.quizService.GetAllQuizzesCountAsync(userId, searchCriteria, searchText, categoryId);

            if (allQuizzesCreatedByTeacher > 0)
            {
                var quizzes = await this.quizService.GetAllPerPageAsync <QuizListViewModel>(page, countPerPage, userId, searchCriteria, searchText, categoryId);

                var timeZoneIana = this.Request.Cookies[GlobalConstants.Coockies.TimeZoneIana];
                foreach (var quiz in quizzes)
                {
                    quiz.CreatedOnDate = this.dateTimeConverter.GetDate(quiz.CreatedOn, timeZoneIana);
                }

                model.Quizzes    = quizzes;
                model.PagesCount = (int)Math.Ceiling(allQuizzesCreatedByTeacher / (decimal)countPerPage);
            }

            return(this.View(model));
        }
        public async Task <IActionResult> QuizzesAll(string searchText, string searchCriteria, int page = 1, int countPerPage = PerPageDefaultValue)
        {
            var model = new QuizzesAllListingViewModel
            {
                CurrentPage  = page,
                PagesCount   = 0,
                SearchType   = searchCriteria,
                SearchString = searchText,
            };

            int quizzesCount = await this.quizzesService.GetAllQuizzesCountAsync(null, searchCriteria, searchText, null);

            if (quizzesCount > 0)
            {
                model.Quizzes = await this.quizzesService.GetAllPerPageAsync <QuizListViewModel>(page, countPerPage, null, searchCriteria, searchText, null);

                model.PagesCount = (int)Math.Ceiling(quizzesCount / (decimal)countPerPage);
            }

            return(this.View(model));
        }