public async Task <IActionResult> StudentActiveEventsAll(string searchText, string searchCriteria, int page = 1, int countPerPage = PerPageDefaultValue) { var studentId = this.userManager.GetUserId(this.User); var model = new StudentEventsViewModel <StudentActiveEventViewModel>() { CurrentPage = page, PagesCount = 0, SearchType = searchCriteria, SearchString = searchText, }; var allActiveEventsCount = await this.eventsService.GetEventsCountByStudentIdAndStatusAsync(studentId, Status.Active, searchCriteria, searchText); if (allActiveEventsCount > 0) { var activeEvents = await this.eventsService .GetPerPageByStudentIdFilteredByStatusAsync <StudentActiveEventViewModel>( Status.Active, studentId, page, countPerPage, false, searchCriteria, searchText); var timeZoneIana = this.Request.Cookies[GlobalConstants.Coockies.TimeZoneIana]; foreach (var activeEvent in activeEvents) { activeEvent.Duration = this.dateTimeConverter.GetDurationString(activeEvent.ActivationDateAndTime, activeEvent.DurationOfActivity, timeZoneIana); } model.PagesCount = (int)Math.Ceiling(allActiveEventsCount / (decimal)countPerPage); model.Events = activeEvents; } return(this.View(model)); }
public async Task <IActionResult> StudentEndedEventsAll(string searchText, string searchCriteria, int page = 1, int countPerPage = PerPageDefaultValue) { var studentId = this.userManager.GetUserId(this.User); var model = new StudentEventsViewModel <StudentEndedEventViewModel>() { CurrentPage = page, PagesCount = 0, SearchType = searchCriteria, SearchString = searchText, }; var allEndedEventsCount = await this.eventsService.GetEventsCountByStudentIdAndStatusAsync(studentId, Status.Ended, searchCriteria, searchText); if (allEndedEventsCount > 0) { var endedEvents = await this.eventsService .GetPerPageByStudentIdFilteredByStatusAsync <StudentEndedEventViewModel>( Status.Ended, studentId, page, countPerPage, true, searchCriteria, searchText); var scores = await this.resultService.GetAllByStudentIdAsync <ScoreViewModel>(studentId); var timeZoneIana = this.Request.Cookies[GlobalConstants.Coockies.TimeZoneIana]; foreach (var endenEvent in endedEvents) { if (endenEvent.QuizName == null) { endenEvent.QuizName = await this.resultService.GetQuizNameByEventIdAndStudentIdAsync(endenEvent.Id, studentId); } endenEvent.Score = scores.FirstOrDefault(x => x.EventId == endenEvent.Id); endenEvent.Date = this.dateTimeConverter.GetDate(endenEvent.ActivationDateAndTime, timeZoneIana); } model.PagesCount = (int)Math.Ceiling(allEndedEventsCount / (decimal)countPerPage); model.Events = endedEvents; } return(this.View(model)); }