private static void ToevoegMenu(string gebruikersNaam) { bool intParse = true; bool isTitelValid = true; bool isMakerValid = true; bool isJaartalValid = true; string maker = ""; string makerWoord = ""; string titel = ""; int userIntInput = 1; SoortItem soortItem; int jaartal; int accountIndex = CollectieBibliotheek.GetAccountIndex(gebruikersNaam); if (CollectieBibliotheek.Leden[accountIndex] is Medewerker == false) { throw new Exception("Toegang tot toevoeg menu geweigerd. Gebruiker is geen medewerker."); } do { Console.Clear(); if (userIntInput < 1 || userIntInput > 4 || !intParse) { Console.WriteLine("Het ingegeven getal is niet geldig!"); } Console.WriteLine("Kies een itemsoort om toe te voegen:"); Console.WriteLine("[1]Boek"); Console.WriteLine("[2]Stripverhaal"); Console.WriteLine("[3]DVD"); Console.WriteLine("[4]CD"); intParse = Int32.TryParse(Console.ReadLine(), out userIntInput); } while (userIntInput < 1 || userIntInput > 4 || !intParse); soortItem = (SoortItem)userIntInput - 1; do { Console.Clear(); if (!isTitelValid) { Console.Clear(); Console.WriteLine("Ingegeven title is niet geldig!"); } Console.WriteLine($"Geef de titel het {soortItem} item"); Console.Write("Titel:"); titel = Console.ReadLine(); if (String.IsNullOrWhiteSpace(titel)) { isTitelValid = false; } } while (!isTitelValid); switch (soortItem) { case SoortItem.Boek: makerWoord = "Auteur"; break; case SoortItem.Stripverhaal: makerWoord = "Auteur"; break; case SoortItem.DVD: makerWoord = "Regisseur"; break; case SoortItem.CD: makerWoord = "Uitvoerder"; break; default: throw new Exception("Ingegeven SoortItem bestaat niet (toevoeg menu)"); } do { Console.Clear(); if (!isMakerValid) { Console.WriteLine($"Ingevoerde {makerWoord.ToLower()} is niet geldig!"); } Console.WriteLine($"Voer de {makerWoord.ToLower()} in voor {titel}."); Console.Write(makerWoord + ":"); maker = Console.ReadLine(); if (String.IsNullOrWhiteSpace(maker)) { isMakerValid = false; } } while (!isMakerValid); do { if (!isJaartalValid || !intParse) { Console.WriteLine("Het ingegeven jaartal is niet geldig!"); } Console.WriteLine($"Voer het jaartal voor {titel} in."); Console.Write("Jaartal:"); intParse = Int32.TryParse(Console.ReadLine(), out jaartal); if (jaartal < 0) { isJaartalValid = false; } } while (!isJaartalValid || !intParse); Medewerker.VoegItemToe(new Item(soortItem, titel, maker, jaartal, false, false, false)); int inputInt = 1; do { if (inputInt < 1 || inputInt > 2 || !intParse) { Console.Clear(); Console.WriteLine("Het ingevoerde getal is niet geldig!"); } Console.WriteLine("Maak uw keuze:"); Console.WriteLine("[1]Keer terug"); Console.WriteLine("[2]Voeg een ander item toe"); intParse = Int32.TryParse(Console.ReadLine(), out inputInt); } while (inputInt < 1 || inputInt > 2 || !intParse); switch (inputInt) { case 1: MedewerkerMenu(gebruikersNaam); break; case 2: ToevoegMenu(gebruikersNaam); break; default: throw new Exception("Het gekozen getal staat niet in het menu! (toevoeg menu)"); } }
private static void AfvoerMenu(string gebruikersNaam) { string inputID = ""; int itemIndex = -1; bool isIDValid = true; int accountIndex = CollectieBibliotheek.GetAccountIndex(gebruikersNaam); if (CollectieBibliotheek.Leden[accountIndex] is Medewerker == false) { throw new Exception("Toegang tot afvoer menu geweigerd. Gebruiker is geen medewerker."); } do { Console.Clear(); CollectieBibliotheek.Leden[accountIndex].ToonOverzichtCollectie(); if (!isIDValid) { Console.WriteLine($"Item {inputID} bestaat niet!"); } Console.WriteLine("Geef het ID van het item om af te voeren"); inputID = Console.ReadLine(); for (int i = 0; i < CollectieBibliotheek.ItemsInCollectie.Count; i++) { if (CollectieBibliotheek.ItemsInCollectie[i].ItemId == inputID) { Console.WriteLine("Item gevonden."); isIDValid = true; itemIndex = i; } } if (itemIndex == -1) { isIDValid = false; } } while (!isIDValid); Medewerker.VoerItemAf(CollectieBibliotheek.ItemsInCollectie[itemIndex]); Console.Clear(); Console.WriteLine($"Item {inputID} werd afgevoerd!"); int inputInt = 1; bool intParse = true; do { if (inputInt < 1 || inputInt > 2 || !intParse) { Console.Clear(); Console.WriteLine("Het ingevoerde getal is niet geldig!"); } Console.WriteLine("Maak uw keuze:"); Console.WriteLine("[1]Keer terug"); Console.WriteLine("[2]Voer een ander item af"); intParse = Int32.TryParse(Console.ReadLine(), out inputInt); } while (inputInt < 1 || inputInt > 2 || !intParse); switch (inputInt) { case 1: MedewerkerMenu(gebruikersNaam); break; case 2: AfvoerMenu(gebruikersNaam); break; default: throw new Exception("Het gekozen getal staat niet in het menu! (afvoer menu)"); } }
private static void PromoveerMenu(string gebruikersNaam) { string inputUserName = ""; int promoveerUserIndex = 0; int accountIndex = CollectieBibliotheek.GetAccountIndex(gebruikersNaam); bool kanPromoveren = false; bool isGevonden = false; if (CollectieBibliotheek.Leden[accountIndex] is Medewerker == false) { throw new Exception("Toegang tot promoveer menu geweigerd. Gebruiker is geen medewerker."); } else { Medewerker.GeefOverzichtLeden(); Console.WriteLine("Geef de gebruikersnaam van het lid om te promoveren"); inputUserName = Console.ReadLine(); for (int i = 0; i < CollectieBibliotheek.Leden.Count; i++) { if (CollectieBibliotheek.Leden[i].Gebruikersnaam == inputUserName) { Console.WriteLine("Lid gevonden"); isGevonden = true; if (CollectieBibliotheek.Leden[i] is Medewerker == false) { kanPromoveren = true; promoveerUserIndex = i; } else { Console.WriteLine($"De gebruiker {inputUserName} is al een medewerker!"); } } } if (!isGevonden) { Console.WriteLine($"De gebruiker {inputUserName} bestaat niet!"); } if (kanPromoveren) { Medewerker.PromoveerLidNaarMedewerker(CollectieBibliotheek.Leden[promoveerUserIndex]); Console.WriteLine($"Het lid {inputUserName} is nu een medewerker!"); } int inputInt = 1; bool intParse = true; do { if (inputInt < 1 || inputInt > 2 || !intParse) { Console.Clear(); Console.WriteLine("Het ingevoerde getal is niet geldig!"); } Console.WriteLine("Maak uw keuze:"); Console.WriteLine("[1]Keer terug"); Console.WriteLine("[2]Promoveer een andere gebruiker"); intParse = Int32.TryParse(Console.ReadLine(), out inputInt); } while (inputInt < 1 || inputInt > 2 || !intParse); switch (inputInt) { case 1: MedewerkerMenu(gebruikersNaam); break; case 2: PromoveerMenu(gebruikersNaam); break; default: throw new Exception("Het gekozen getal staat niet in het menu! (promoveer menu)"); } } }