// 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))); }
// 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))); } }