// GET: Teams public async Task <IActionResult> Index(int?pageNumber) { var teams = _context.Teams.Include(t => t.PrimaryManager).AsNoTracking(); //return View(await teams.ToListAsync()); return(View(await PaginatedListViewModel <TeamModel> .CreateAsync(teams, pageNumber ?? 1, CommonConstants.PAGE_SIZE))); }
public async Task <IActionResult> Index(int?page) { var courses = await _serviceCourse.GetAllAsync(); var coursesViewModel = _mapper.Map <IEnumerable <CourseViewModel> >(courses); return(View(PaginatedListViewModel <CourseViewModel> .CreateAsync(coursesViewModel, page ?? 1))); }
public IActionResult Index(int currentPage = 1) { var model = new PaginatedListViewModel(); var productService = new ProductService(_context); model.Data = productService.GetPaginatedResult(currentPage); model.Count = productService.GetCount(); model.CurrentPage = currentPage; return View(model); }
public async Task <IActionResult> Index(string sortOrder, string currentFilter, string searchString, int?pageNumber) { ViewData["CurrentSort"] = sortOrder; ViewData["NameSortParm"] = string.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; ViewData["TeamSortParm"] = sortOrder == "team" ? "team_desc" : "team"; if (searchString != null) { pageNumber = 1; } else { searchString = currentFilter; } ViewData["CurrentFilter"] = searchString; var users = await _userManager.Users.Include(u => u.Team).ToListAsync(); var userRolesViewModel = new List <UserRolesViewModel>(); foreach (ApplicationUser user in users) { UserRolesViewModel userRoleViewModel = await BuildUserRoleViewModel(user); userRolesViewModel.Add(userRoleViewModel); } if (!String.IsNullOrEmpty(searchString)) { userRolesViewModel = userRolesViewModel.Where(u => u.FullName.ToLower().Contains(searchString.ToLower())).ToList(); } switch (sortOrder) { case "name_desc": userRolesViewModel = userRolesViewModel.OrderByDescending(u => u.FullName).ToList(); break; case "team": userRolesViewModel = userRolesViewModel.OrderBy(u => u.TeamName).ToList(); break; case "team_desc": userRolesViewModel = userRolesViewModel.OrderByDescending(u => u.TeamName).ToList(); break; default: userRolesViewModel = userRolesViewModel.OrderBy(u => u.FullName).ToList(); break; } return(View(PaginatedListViewModel <UserRolesViewModel> .Create(userRolesViewModel.AsQueryable(), pageNumber ?? 1, CommonConstants.PAGE_SIZE))); }
private PaginatedListViewModel <ItemViewModel> CreatePaginatedListViewModel(int pageSize, int pageIndex, long totalItems, List <Manufacturer> list) { var page = new List <ItemViewModel>(); list.ForEach(x => { page.Add(new ItemViewModel { Id = x.Id.ToString(), Name = x.Name }); }); var model = new PaginatedListViewModel <ItemViewModel>( pageIndex, pageSize, totalItems, page); return(model); }
public void Create_Page3_PageSize4() { // 1. Arrange int?pageNumber = 3; int pageSize = 4; int expectedTotalPages = 3; var expectedResult = new List <int> { 9, 0 }; // 2. Act var actualResult = PaginatedListViewModel <int> .Create(testList.AsQueryable(), pageNumber ?? 1, pageSize); // 3. Assert Assert.Equal(expectedResult.Count, actualResult.Count); Assert.Equal(expectedTotalPages, actualResult.TotalPages); Assert.Equal(pageNumber, actualResult.PageIndex); Assert.False(actualResult.HasNextPage); Assert.True(actualResult.HasPreviousPage); for (int i = 0; i < actualResult.Count; i++) { Assert.Equal(expectedResult[i], actualResult[i]); } }
public EntityListViewModel(CreateBaseCommand <EntityListViewModel <TEntityViewModel, TGetEntityModel> > createLoadCommand) { LoadCommand = createLoadCommand(this); EntityPageVM = new PaginatedListViewModel <TGetEntityModel>(LoadCommand); }
// GET: Leden public async Task <IActionResult> Index( int?pageNumber, // <= op welke pagina zijn we nu int?pageSize, // <= hoeveel activiteiten per pagina string sortOrder = null, // <= hoe moet de activiteiten gesorteerd worden string currentFilter = null, // <= waarop werd er gefilterd string searchString = null) // <= waarop moet er nu gefilterd worden { // mag de huidige gebruiker (indien gekend) deze gegevens zien // als het resultaat null is, mag hij de gegevens zien // als het resultaat niet null is, toon dan de gepaste pagina (login of unauthorized) IActionResult actionResult = CredentialBeheerder.CheckIfAllowed(_role, TempData, _context);; if (actionResult != null) { return(actionResult); } // XXX_asc : a -> z // XXX_desc : z -> a ViewData["CurrentSort"] = sortOrder; ViewData["LidnaamSortParm"] = sortOrder == "lidnaam_asc" ? "lidnaam_desc" : "lidnaam_asc"; ViewData["StraatnaamSortParm"] = sortOrder == "straatnaam_asc" ? "straatnaam_desc" : "straatnaam_asc"; ViewData["GemeenteSortParm"] = sortOrder == "gemeente_asc" ? "gemeente_desc" : "gemeente_asc"; // als er een nieuwe searchstring is, dan terug naar pagina 1 // anders bijhouden waarop vroeger gezocht werd en daarop opnieuw zoeken if (!String.IsNullOrWhiteSpace(searchString)) { pageNumber = 1; } else { searchString = currentFilter; } ViewData["CurrentFilter"] = searchString; // AsNoTracking want database zal niet veranderd worden var leden = _context.Leden.AsNoTracking(); // moet er ergens op gezocht worden? // indien JA zoek dan in de naam (voor- en achternaam, adres, email en telefoon if (!String.IsNullOrEmpty(searchString)) { leden = leden.Where(l => l.Achternaam.ToLower().Contains(searchString) || l.Voornaam.ToLower().Contains(searchString) || l.Straatnaam.ToLower().Contains(searchString) || l.Straatnummer.ToLower().Contains(searchString) || l.Gemeente.ToLower().Contains(searchString) || l.Email.ToLower().Contains(searchString) || l.Telefoon_vast.ToLower().Contains(searchString) || l.Telefoon_GSM.ToLower().Contains(searchString)); } // sorteer de leden leden = sortOrder switch { "lidnaam_asc" => leden.OrderBy(l => l.Achternaam) .ThenBy(l => l.Voornaam), "lidnaam_desc" => leden.OrderByDescending(l => l.Achternaam) .ThenByDescending(l => l.Voornaam), "straatnaam_asc" => leden.OrderBy(l => l.Straatnaam) .ThenBy(l => l.Straatnummer) .ThenBy(l => l.Postcode) .ThenBy(l => l.Gemeente) .ThenBy(l => l.Achternaam) .ThenBy(l => l.Voornaam), "straatnaam_desc" => leden.OrderByDescending(l => l.Straatnaam) .ThenByDescending(l => l.Straatnummer) .ThenByDescending(l => l.Postcode) .ThenByDescending(l => l.Gemeente) .ThenByDescending(l => l.Achternaam) .ThenByDescending(l => l.Voornaam), "gemeente_asc" => leden.OrderBy(l => l.Postcode) .ThenBy(l => l.Gemeente) .ThenBy(l => l.Straatnaam) .ThenBy(l => l.Straatnummer) .ThenBy(l => l.Achternaam) .ThenBy(l => l.Voornaam), "gemeente_desc" => leden.OrderByDescending(l => l.Postcode) .ThenByDescending(l => l.Gemeente) .ThenByDescending(l => l.Straatnaam) .ThenByDescending(l => l.Straatnummer) .ThenByDescending(l => l.Achternaam) .ThenByDescending(l => l.Voornaam), _ => leden.OrderBy(l => l.Achternaam) .ThenBy(l => l.Voornaam), }; // toon de juiste pagina van leden return(View(await PaginatedListViewModel <Lid> .CreateAsync(leden, pageNumber ?? 1, pageSize ?? 10))); }
public async Task <IActionResult> Index(string sortOrder, string currentFilter, string searchString, int?page) { var departmentsViewModel = await GetAllDepartmentsPaginated(sortOrder, currentFilter, searchString); return(View(PaginatedListViewModel <DepartmentViewModel> .CreateAsync(departmentsViewModel, page ?? 1))); }
// GET: Activiteiten public async Task <IActionResult> Index( string sortOrder, // <= hoe moet de activiteiten gesorteerd worden string currentFilter, // <= waarop werd er gefilterd string searchString, // <= waarop moet er nu gefilterd worden int?pageNumber, // <= op welke pagina zijn we nu int?pageSize) // <= hoeveel activiteiten per pagina { // mag de huidige gebruiker (indien gekend) deze gegevens zien // als het resultaat null is, mag hij de gegevens zien // als het resultaat niet null is, toon dan de gepaste pagina (login of unauthorized) IActionResult actionResult = CredentialBeheerder.CheckIfAllowed(_role, TempData, _context);; if (actionResult != null) { return(actionResult); } // XXX_asc : a -> z of verleden -> toekomst // XXX_desc : z -> a of toekomst -> verleden ViewData["CurrentSort"] = sortOrder; ViewData["NaamSortParm"] = sortOrder == "naam_asc" ? "naam_desc" : "naam_asc"; ViewData["OmschrijvingSortParm"] = sortOrder == "omschrijving_asc" ? "omschrijving_desc" : "omschrijving_asc"; ViewData["OntmoetingsplaatsSortParm"] = sortOrder == "plaats_asc" ? "plaats_desc" : "plaats_asc"; ViewData["ActiviteitendatumSortParm"] = sortOrder == "datum_asc" ? "datum_desc" : "datum_asc"; ViewData["PublicatiedatumSortParm"] = sortOrder == "publicatie_asc" ? "publicatie_desc" : "publicatie_asc"; // als er een nieuwe searchstring is, dan terug naar pagina 1 // anders bijhouden waarop vroeger gezocht werd en daarop opnieuw zoeken if (searchString != null) { pageNumber = 1; } else { searchString = currentFilter; } ViewData["CurrentFilter"] = searchString; // AsNoTracking want database zal niet veranderd worden // ook de ontmoetingsplaats (en niet enkel de ontmoetingsplaats id) moet gekend zijn var activiteiten = _context.Activiteiten .AsNoTracking() .Include(a => a.Ontmoetingsplaats) .AsQueryable(); // moet er ergens op gezocht worden? // indien JA zoek dan in de naam, omschrijving en plaatsnaam (van de ontmoetingsplaats) if (!String.IsNullOrEmpty(searchString)) { activiteiten = activiteiten.Where(a => a.Naam.Contains(searchString) || a.Omschrijving.Contains(searchString) || a.Ontmoetingsplaats.Plaatsnaam.Contains(searchString)); } // sorteer de activiteiten (datum steeds van toekomst naar verleden, // tenzij anders gevraagd) activiteiten = sortOrder switch { "naam_asc" => activiteiten.OrderBy(a => a.Naam) .ThenByDescending(a => a.Activiteitendatum), "naam_desc" => activiteiten.OrderByDescending(a => a.Naam) .ThenByDescending(a => a.Activiteitendatum), "omschrijving_asc" => activiteiten.OrderBy(a => a.Omschrijving) .ThenByDescending(a => a.Activiteitendatum), "omschrijving_desc" => activiteiten.OrderByDescending(a => a.Omschrijving) .ThenByDescending(a => a.Activiteitendatum), "plaats_asc" => activiteiten.OrderBy(a => a.Ontmoetingsplaats) .ThenByDescending(a => a.Activiteitendatum), "plaats_desc" => activiteiten.OrderByDescending(a => a.Ontmoetingsplaats) .ThenByDescending(a => a.Activiteitendatum), "datum_asc" => activiteiten.OrderBy(a => a.Activiteitendatum) .ThenBy(a => a.Naam), "datum_desc" => activiteiten.OrderByDescending(a => a.Activiteitendatum) .ThenBy(a => a.Naam), "publicatie_asc" => activiteiten.OrderBy(a => a.Publicatiedatum) .ThenByDescending(a => a.Activiteitendatum), "publicatie_desc" => activiteiten.OrderByDescending(a => a.Publicatiedatum) .ThenByDescending(a => a.Activiteitendatum), _ => activiteiten.OrderByDescending(a => a.Activiteitendatum) .ThenBy(a => a.Naam), }; // toon de juiste pagina van activiteiten return(View(await PaginatedListViewModel <Activiteit> .CreateAsync(activiteiten, pageNumber ?? 1, pageSize ?? 10))); }
public IActionResult Index(string sortOrder, string currentFilter, string searchString, int?page) { var studentsViewModel = GetAllStudentsPaginated(sortOrder, currentFilter, searchString); return(View(PaginatedListViewModel <StudentViewModel> .CreateAsync(studentsViewModel, page ?? 1))); }
// GET: AttendanceRecords public async Task <IActionResult> Index(string sortOrder, string currentFilter, string searchString, int?pageNumber, string infoMessage, DateTime selectedMonth, bool getAsCsv) { ViewData["CurrentSort"] = sortOrder; ViewData["DateSortParm"] = string.IsNullOrEmpty(sortOrder) ? "date" : ""; ViewData["NameSortParm"] = sortOrder == "name" ? "name_desc" : "name"; ViewData["ApprovalStatusSortParm"] = sortOrder == "approval" ? "approval_desc" : "approval"; ViewData["ManagerApprovalControlDisabled"] = true; ViewData["InfoMessage"] = infoMessage; if (searchString != null) { pageNumber = 1; } else { searchString = currentFilter; } _logger.LogInformation($"Request month value: {selectedMonth}"); if ((selectedMonth == null) || (selectedMonth == DateTime.MinValue)) { selectedMonth = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1); } ViewData["SelectedMonth"] = $"{selectedMonth.Year}-{selectedMonth.ToString("MM")}"; var daysInMonth = DateTime.DaysInMonth(selectedMonth.Year, selectedMonth.Month); ViewData["CurrentFilter"] = searchString; var currentUserId = _userManager.GetUserId(User); var attendanceRecords = _context.AttendanceRecords.Where(ar => ar.WorkDay >= selectedMonth && ar.WorkDay < selectedMonth.AddDays(daysInMonth)) .Include(p => p.Employee) .ThenInclude(e => e.Team) .AsNoTracking(); attendanceRecords = await GetAttendanceRecordsInScope(currentUserId, attendanceRecords); if (!String.IsNullOrEmpty(searchString)) { attendanceRecords = attendanceRecords.Where(ar => (ar.Employee.LastName + ar.Employee.FirstName).Contains(searchString)); } switch (sortOrder) { case "name_desc": attendanceRecords = attendanceRecords.OrderByDescending(ar => ar.Employee.LastName + ar.Employee.FirstName); break; case "name": attendanceRecords = attendanceRecords.OrderBy(ar => ar.Employee.LastName + ar.Employee.FirstName); break; case "approval_desc": attendanceRecords = attendanceRecords.OrderByDescending(ar => ar.ManagerApprovalStatus); break; case "approval": attendanceRecords = attendanceRecords.OrderBy(ar => ar.ManagerApprovalStatus); break; case "date": attendanceRecords = attendanceRecords.OrderBy(ar => ar.WorkDay); break; default: attendanceRecords = attendanceRecords.OrderByDescending(ar => ar.WorkDay); break; } if (getAsCsv) { DataTable exportTable = GetAttendanceRecordsAsDataTable(attendanceRecords); var csvResult = new CSVResult(exportTable, $"{currentUserId}_{DateTime.Now.ToString(CultureInfo.InvariantCulture)}.csv"); return(csvResult); } else { return(View(await PaginatedListViewModel <AttendanceRecordModel> .CreateAsync(attendanceRecords, pageNumber ?? 1, CommonConstants.PAGE_SIZE))); } }