public async Task <IActionResult> Create([Bind("Id,Achternaam,Voornaam,Geboortedatum,Straatnaam,Straatnummer,Postcode,Gemeente,Telefoon_vast,Telefoon_GSM,Email")] Lid lid) { // 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); } // zijn er geen validatie fouten // voeg dan het nieuwe lid toe aan de db if (ModelState.IsValid) { lid.Id = Guid.NewGuid(); // creëer een standaard loginnaam (eerste 3 letters van de voornaam + // 5 eerste letters van de achternaam lid.Login_Naam = CreateDefaultLoginNaam(lid); // creëer een standaard wachtwoord (geboortedatum // DDMMJJJJ) lid.Wachtwoord = Crypto.Hash(CreateDefaultLoginWachtwoord(lid)); _context.Add(lid); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(lid)); }
// GET: Groepen/Edit/5 public async Task <IActionResult> Edit(Guid?id) { // 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); } if (id == null) { return(NotFound()); } var groep = await _context.Groepen.FindAsync(id); if (groep == null) { return(NotFound()); } return(View(groep)); }
public async Task <IActionResult> Create([Bind("Id,Naam,Omschrijving,Publicatiedatum,Uiterste_inschrijfdatum,Prijs,Max_inschrijvingen,Id_ontmoetingsplaats,Activiteitendatum,Beginuur,Einduur")] Activiteit activiteit) { // mag de huidige gebruiker (indien gekend) deze gegevens opslaan // als het resultaat null is, mag hij de gegevens opslaan // 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); } // zijn er geen validatie fouten // voeg dan de nieuwe activiteit toe aan de db if (ModelState.IsValid) { activiteit.Id = Guid.NewGuid(); //verander de punt (Engelse getalnotatie) naar een komma (onze getalnotatie) NormalizePrijs(activiteit); _context.Add(activiteit); await _context.SaveChangesAsync(); // keer terug naar de lijst met activiteiten return(RedirectToAction(nameof(Index))); } //indien hier was er een fout met de validatie //vul de select lijst op met de naam van de ontmoetingsplaatsen ViewData["Id_ontmoetingsplaats"] = new SelectList(_context.Ontmoetingsplaatsen, "Id", "Plaatsnaam", activiteit.Id_ontmoetingsplaats); //blijf op de huidige pagina return(View(activiteit)); }
public async Task <IActionResult> DeleteRelatie(Guid?RelId, Guid?LidId) { // 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); } if (RelId == null || LidId == null) { return(NotFound()); } // zoek de relatie var relatie = _context.Relaties.Find(RelId); if (relatie == null) { return(NotFound()); } // verwijder de relatie _context.Relaties.Remove(relatie); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Edit), new { id = LidId })); }
// GET: Activiteiten/Edit/5 public async Task <IActionResult> Edit(Guid?id) { // 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); } // id == null ==> geen activiteit if (id == null) { return(NotFound()); } // zoek de activiteit in de db var activiteit = await _context.Activiteiten.FindAsync(id); // indien null ==> niet gevonden if (activiteit == null) { return(NotFound()); } // vul de select lijst op met ontmoetingsplaatsen ViewData["Id_ontmoetingsplaats"] = new SelectList(_context.Ontmoetingsplaatsen, "Id", "Plaatsnaam", activiteit.Id_ontmoetingsplaats); return(View(activiteit)); }
// GET: Groepen public async Task <IActionResult> Index(string searchString = null) { // 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); } var query = _context.Groepen .AsNoTracking(); if (!string.IsNullOrWhiteSpace(searchString)) { query = query.Where(g => g.Rol.ToLower().Contains(searchString) || g.Omschrijving.ToLower().Contains(searchString)); } ViewData["CurrentFilter"] = searchString; var groepen = await query .OrderBy(g => g.Rol).ToListAsync(); return(View(groepen)); }
// GET: Ontmoetingsplaatsen public async Task <IActionResult> Index(string searchString = null) { // 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); } // haal alle ontmoetingsplaatsen // AsNoTracking omdat de db niet aangepast wordt var query = _context.Ontmoetingsplaatsen.AsNoTracking(); // moet er gezocht worden if (!string.IsNullOrWhiteSpace(searchString)) { query = query.Where(o => o.Plaatsnaam.ToLower().Contains(searchString) || o.Gemeente.ToLower().Contains(searchString) || o.Straatnaam.ToLower().Contains(searchString)); } ViewData["CurrentFilter"] = searchString; // sorteer de lijst met ontmoetingsplaatsen op plaatsnaam // AsNoTracking omdat de db niet aangepast wordt var ontmoetingsplaatsen = await query.AsNoTracking() .OrderBy(o => o.Plaatsnaam).ToListAsync(); return(View(ontmoetingsplaatsen)); }
// GET: Inschrijvingen public IActionResult Index() { // 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); } // haal het aantal inschrijvingen uit de db, gegroepeerd per activiteit var query = _context.Inschrijvingen .AsNoTracking() .GroupBy(i => i.Id_Activiteit) .Select(g => new { Id_Activiteit = g.Key, Count = g.Count() }).ToList(); // maak een lijst met activiteiten en het aantal inschrijvingen per activiteit List <Activiteit> lijstActiviteiten = new(); foreach (var item in query) { var activiteit = _context.Activiteiten.FirstOrDefault(a => a.Id == item.Id_Activiteit); activiteit.AantalInschrijvingen = item.Count; lijstActiviteiten.Add(activiteit); } //sorteer de lijst van toekomst naar verleden en dan op naam lijstActiviteiten = lijstActiviteiten.OrderByDescending(a => a.Activiteitendatum) .ThenBy(a => a.Naam).ToList(); return(View(lijstActiviteiten)); }
// GET: Inschrijvingen/Edit/5 public async Task <IActionResult> Edit(Guid?id) { // 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); } if (id == null) { return(NotFound()); } // haal de inschrijvingen voor de activiteit uit de db var inschrijvingenVoorActiviteit = await _context.Inschrijvingen .AsNoTracking() .Where(i => i.Id_Activiteit == id) .Include(i => i.Lid) .ToListAsync(); // geen inschrijvingen if (inschrijvingenVoorActiviteit == null) { return(NotFound()); } // haal de activiteit uit de db var activiteit = _context.Activiteiten .AsNoTracking() .Where(a => a.Id == id) .FirstOrDefault(); // niet gevonden if (activiteit == null) { return(NotFound()); } // onthoud het aantal inschrijvingen activiteit.AantalInschrijvingen = inschrijvingenVoorActiviteit.Count; // haal een lijst met alle leden uit de db var leden = await _context.Leden .OrderBy(l => l.Achternaam) .ThenBy(l => l.Voornaam) .ToListAsync(); var model = new InschrijvingViewModel() { AlleLeden = leden, // enkel de leden van de inschrijvingen nodig IngeschrevenLeden = inschrijvingenVoorActiviteit.Select(l => l.Lid).ToList(), Activiteit = activiteit, Id_Activiteit = activiteit.Id }; return(View(model)); }
public async Task <IActionResult> DeleteConfirmed(Guid id) { // 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); } // zoek de activiteit in de db die verwijderd zal worden // indien null ==> niet gevonden var activiteit = await _context.Activiteiten.FindAsync(id); if (activiteit == null) { return(NotFound()); } // zoek de inschrijvingen voor deze activiteit var inschrijvingen = _context.Inschrijvingen.Where(i => i.Id_Activiteit == id); // verwijder de inschrijvingen uit de db _context.Inschrijvingen.RemoveRange(inschrijvingen); // verwijder de activiteit uit de db _context.Activiteiten.Remove(activiteit); // bewaar de db await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> LedenHuisbezoekerlijst(Guid IdCurrentHuisbezoeker, String NaamHuisbezoeker) { // 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); } // vind de id van de rol huisbezoeker var queryHuisbezoeker = await _context.Groepen.FirstOrDefaultAsync(g => g.Rol == "Huisbezoeker"); // maak een lijst van de namen van leden waarvoor een // huisbezoeker verantwoordelijk is // Id_Lid1 + Id-Groep = de persoon die huisbezoeker is // Id_Lid2 = lid waarvoor hij/zij verantwoordelijk is // AsNoTracking want de db wordt niet aangepast // Include want ik wil alle gegevens van dat lid // gesorteerd op achternaam, dan voornaam var leden = _context.Relaties .AsNoTracking() .Where(r => r.Id_Groep == queryHuisbezoeker.Id && r.Id_Lid1 == IdCurrentHuisbezoeker) .Include(r => r.Lid2) .OrderBy(r => r.Lid2.Achternaam) .ThenBy(r => r.Lid2.Voornaam) .Select(r => r.Lid2.VolledigeNaam) .ToList(); ViewData["NaamHuisbezoeker"] = NaamHuisbezoeker; return(View(leden)); }
public async Task <IActionResult> EditLoginDataPost(Guid?id, String Login_Naam, String Wachtwoord) { // 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); } if (id == null) { return(NotFound()); } // zoek het lid var lid = await _context.Leden.FindAsync(id); if (lid == null) { return(NotFound()); } // verander de loginnaam lid.Login_Naam = Login_Naam; // als het wachtwoord ook moet gewijzigd worden // verander dan ook het gehashte wachtwoord if (Wachtwoord != null) { lid.Wachtwoord = Crypto.Hash(Wachtwoord); } // bewaar de aangepaste gegevens in de db try { _context.Update(lid); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LidExists(lid.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Edit), new { id })); }
public async Task <IActionResult> Edit(Guid id, Guid id_Activiteit, List <Guid> ledenLijst) { // 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); } if (id != id_Activiteit) { return(NotFound()); } // als er geen validatiefouten zijn // verwijderen alle inschrijvingen voor de activiteit // en schrijf alle leden die aangevinkt zijn terug in voor de activiteit if (ModelState.IsValid) { try { var inschrijvingenVoorActiviteit = await _context.Inschrijvingen .Where(i => i.Id_Activiteit == id) .ToListAsync(); // verwijder alle inschrijvingen voor de activiteit _context.RemoveRange(inschrijvingenVoorActiviteit); foreach (Guid id_lid in ledenLijst) { Inschrijving inschrijving = new() { Id = new Guid(), Id_Activiteit = id, Id_Lid = id_lid }; // voeg de geselecteerde leden terug toe aan de inschrijving _context.Add(inschrijving); } // bewaar de aanpassingen await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { throw; } // aanpassingen bewaard, terug naar lijst return(RedirectToAction(nameof(Index))); } // validatiefouten, terug naar lijst return(RedirectToAction(nameof(Index))); }
public IActionResult Verjaardagslijst(string maand) { // 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); } IEnumerable Maanden = new[] { new { Value = "1", Text = "Januari" }, new { Value = "2", Text = "Februari" }, new { Value = "3", Text = "Maart" }, new { Value = "4", Text = "April" }, new { Value = "5", Text = "Mei" }, new { Value = "6", Text = "Juni" }, new { Value = "7", Text = "Juli" }, new { Value = "8", Text = "Augustus" }, new { Value = "9", Text = "September" }, new { Value = "10", Text = "Oktober" }, new { Value = "11", Text = "November" }, new { Value = "12", Text = "December" } }; // geselecteerde maand is standaard de volgende maand string selectedMonth = (DateTime.Today.Month + 1).ToString(); // is er reeds een maand geselecteerd // zet die dan als de geselecteerde maand if (maand != null) { selectedMonth = maand; } // maak de lijst met de maanden en selecteer een maand SelectList maandList = new(Maanden, "Value", "Text", selectedMonth); ViewData["Maanden"] = maandList; VerjaardagslijstViewModel lijst = new(); lijst.Maand = selectedMonth; // maak een lijst met alle jarigen van de geselecteerde maand // gesorteerd per dag en van jong naar oud lijst.Jarigen = _context.Leden .Where(l => l.Geboortedatum.Month.ToString() == selectedMonth) .OrderBy(l => l.Geboortedatum.Day) .ThenByDescending(l => l.Geboortedatum.Year) .ToList(); return(View(lijst)); }
// GET: Groepen/Create public IActionResult Create() { // 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); } return(View()); }
public async Task <IActionResult> Edit(Guid id, [Bind("Id,Naam,Omschrijving,Publicatiedatum,Uiterste_inschrijfdatum,Prijs,Max_inschrijvingen,Id_ontmoetingsplaats,Activiteitendatum,Beginuur,Einduur")] Activiteit activiteit) { // 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); } // is de doorgegeven id gelijk aan de id van de activiteit if (id != activiteit.Id) { return(NotFound()); } // zijn er geen validatie fouten // pas dan de gewijzigde activiteit aan in de db if (ModelState.IsValid) { try { // punt in getal (Engels getal) vervangen door komma NormalizePrijs(activiteit); _context.Update(activiteit); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ActiviteitExists(activiteit.Id)) { return(NotFound()); } else { throw; } } // toon de lijst met activiteiten return(RedirectToAction(nameof(Index))); } // indien hier was er een fout met de validatie // vul de select lijst op met de naam van de ontmoetingsplaatsen ViewData["Id_ontmoetingsplaats"] = new SelectList(_context.Ontmoetingsplaatsen, "Id", "Plaatsnaam", activiteit.Id_ontmoetingsplaats); // blijf op de huidige pagina return(View(activiteit)); }
public async Task <IActionResult> Huisbezoekerslijst() { // 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); } var model = new HuisbezoekerslijstViewModel { // lijst gesorteerd op naam van de huisbezoeker en zijn id HuisbezoekersList = new SortedDictionary <string, Guid>() }; // vind de id van de rol huisbezoeker var queryHuisbezoeker = await _context.Groepen.FirstOrDefaultAsync(g => g.Rol == "Huisbezoeker"); Guid huisbezoekerId = queryHuisbezoeker.Id; // maak een lijst met alle huisbezoekers // AsNoTracking want de db wordt niet aangepast // Select want ik ben enkel geïnteresseerd in de id van de huisbezoeker // en niet in de ids voor wie hij verantwoordelijk is // Distinct want de id van de huisbezoeker is uniek voor hem/haar var query = _context.Relaties .AsNoTracking() .Where(r => r.Id_Groep == huisbezoekerId) .Select(r => r.Id_Lid1) .Distinct() .ToList(); // zoek de naam van de huisbezoeker // en voeg het toe aan de gesorteerde lijst foreach (var huisbezoeker in query) { var lid = await _context.Leden .Where(l => l.Id == huisbezoeker) .FirstOrDefaultAsync(); String naam = lid?.VolledigeNaam; model.HuisbezoekersList.Add(naam, huisbezoeker); } return(View(model)); }
// GET: Activiteiten/Create public IActionResult Create() { // 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); } //vul de select lijst op met de naam van de ontmoetingsplaatsen ViewData["Id_ontmoetingsplaats"] = new SelectList(_context.Ontmoetingsplaatsen, "Id", "Plaatsnaam"); return(View()); }
// GET: Leden/Delete/5 public async Task <IActionResult> Delete(Guid?id) { // 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); } if (id == null) { return(NotFound()); } // zoek het lid var lid = await _context.Leden.FindAsync(id); if (lid == null) { return(NotFound()); } // maak een lijst met alle relaties van dat lid // zowel primaire (lid1) als secundaire (lid2) relaties // asnotracking want db wordt niet aangepast // zowel alle gegevens van lid1, groep als lid2 moeten geweten zijn var relaties = await _context.Relaties .AsNoTracking() .Include(r => r.Groep) .Include(r => r.Lid1) .Include(r => r.Lid2) .Where(r => r.Id_Lid1 == lid.Id || r.Id_Lid2 == lid.Id) .OrderBy(r => r.Groep.Rol) .ToListAsync(); // bewaar de relaties bij het lid lid.Relaties = relaties; return(View(lid)); }
public async Task <IActionResult> Edit(Guid id, [Bind("Id,Plaatsnaam,Straatnaam,Straatnummer,Postcode,Gemeente")] Ontmoetingsplaats ontmoetingsplaats) { // 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); } // zoek de ontmoetingsplaats if (id != ontmoetingsplaats.Id) { return(NotFound()); } // als er geen validatie fouten zijn // pas de gegevens aan van de ontmoetingsplaats in de db if (ModelState.IsValid) { try { _context.Update(ontmoetingsplaats); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OntmoetingsplaatsExists(ontmoetingsplaats.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(ontmoetingsplaats)); }
public async Task <IActionResult> Edit(Guid id, [Bind("Id,Achternaam,Voornaam,Geboortedatum,Straatnaam,Straatnummer,Postcode,Gemeente,Telefoon_vast,Telefoon_GSM,Email,Login_Naam,Wachtwoord")] Lid lid) { if (id != lid.Id) { return(NotFound()); } // 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); } // zijn er geen validatie fouten // pas dan de gegevens van het nieuwe lid aan in de db if (ModelState.IsValid) { try { _context.Update(lid); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LidExists(lid.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(lid)); }
// GET: Activiteiten/Delete/5 public async Task <IActionResult> Delete(Guid?id) { // 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); } // id == null ==> geen activiteit if (id == null) { return(NotFound()); } // zoek de activiteit // AsNoTracking want database zal niet veranderd worden // ook de ontmoetingsplaats (en niet enkel de ontmoetingsplaats id) moet gekend zijn var activiteit = await _context.Activiteiten .AsNoTracking() .Include(a => a.Ontmoetingsplaats) .FirstOrDefaultAsync(m => m.Id == id); // activiteit == null ==> geen activiteit gevonden if (activiteit == null) { return(NotFound()); } // zoek het aantal inschrijvingen voor deze activiteit en onthoud het aantal // AsNoTracking want database zal niet veranderd worden activiteit.AantalInschrijvingen = _context.Inschrijvingen .AsNoTracking() .Where(i => i.Id_Activiteit == id) .Count(); return(View(activiteit)); }
public async Task <IActionResult> Edit(Guid id, [Bind("Id,Rol,Omschrijving,Dubbele_Relatie")] Groep groep) { IActionResult actionResult = CredentialBeheerder.CheckIfAllowed(_role, TempData, _context);; if (actionResult != null) { return(actionResult); } if (id != groep.Id) { return(NotFound()); } // zijn er geen validatie fouten // pas dan de groep aan in de db if (ModelState.IsValid) { try { _context.Update(groep); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!GroepExists(groep.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(groep)); }
public async Task <IActionResult> DeleteConfirmed(Guid id) { // 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); } // zoek het lid in de db var lid = _context.Leden.Find(id); if (lid == null) { return(NotFound()); } // verwijder alle relaties waar het lid bij betrokken is var relaties = _context.Relaties.Where(r => r.Id_Lid1 == lid.Id || r.Id_Lid2 == lid.Id); _context.Relaties.RemoveRange(relaties); // verwijder alle inschrijvingen van het lid var inschrijvingen = _context.Inschrijvingen.Where(i => i.Id_Lid == id); _context.Inschrijvingen.RemoveRange(inschrijvingen); //verwijder het lid zelf _context.Leden.Remove(lid); // bewaar de aanpassingen in de db await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Create([Bind("Id,Rol,Omschrijving,Dubbele_Relatie")] Groep groep) { // 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); } // zijn er geen validatie fouten // voeg dan de nieuwe groep toe aan de db if (ModelState.IsValid) { groep.Id = Guid.NewGuid(); _context.Add(groep); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(groep)); }
public async Task <IActionResult> DeleteConfirmed(Guid id) { // 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); } // haal alle inschrijvingen voor de activiteit uit de db var inschrijvingenVoorActiviteit = await _context.Inschrijvingen .Where(i => i.Id_Activiteit == id) .ToListAsync(); // verwijder alle inschrijvingen voor de activiteit _context.RemoveRange(inschrijvingenVoorActiviteit); // bewaar de db await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Create([Bind("Id,Plaatsnaam,Straatnaam,Straatnummer,Postcode,Gemeente")] Ontmoetingsplaats ontmoetingsplaats) { // 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); } // als er geen validatie fouten zijn // bewaar de nieuwe ontmoetingsplaats in de db if (ModelState.IsValid) { ontmoetingsplaats.Id = Guid.NewGuid(); _context.Add(ontmoetingsplaats); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(ontmoetingsplaats)); }
public async Task <IActionResult> Beheerders() { // 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); } var model = new BeheerderslijstViewModel { Activiteitenmanagerlijst = new List <string>(), Ledenmanagerlijst = new List <string>() }; model.Activiteitenmanagerlijst = await FillList("Activiteitenmanager"); model.Ledenmanagerlijst = await FillList("Ledenmanager"); return(View(model)); }
// 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))); }
// 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))); }