// GET: GroupTypes public async Task <IActionResult> Index(SortState sortState, int page = 1) { GroupTypesFilterViewModel filter = HttpContext.Session.Get <GroupTypesFilterViewModel>(filterKey); if (filter == null) { filter = new GroupTypesFilterViewModel { Type = string.Empty }; HttpContext.Session.Set(filterKey, filter); } string key = $"{typeof(GroupType).Name}-{page}-{sortState}-{filter.Type}"; if (!_cache.TryGetValue(key, out GroupTypesViewModel model)) { model = new GroupTypesViewModel(); IQueryable <GroupType> groupTypes = GetSortedGroupTypes(sortState, filter.Type); int count = groupTypes.Count(); model.PageViewModel = new PageViewModel(page, count, pageSize); model.GroupTypes = count == 0 ? new List <GroupType>() : groupTypes.Skip((model.PageViewModel.PageIndex - 1) * pageSize).Take(pageSize).ToList(); model.SortViewModel = new SortViewModel(sortState); model.GroupTypesFilterViewModel = filter; _cache.Set(key, model); } return(View(model)); }
public SelectCourseCommand(NavigationStore navigationStore, NotificationStore notificationStore, ScheduleManager scheduleManager, TimeTableDto timeTableData) { var groupTypesViewModel = new GroupTypesViewModel(scheduleManager, navigationStore, notificationStore); groupTypesViewModel.SetTimeTableData(timeTableData); _navigationService = new NavigationService <GroupTypesViewModel>(navigationStore, groupTypesViewModel); }