static void Main(string[] args) { //Lists //List<Lid> _Members = new List<Lid>();//? List <Bezoeker> _visitors = new List <Bezoeker>(); List <Lid> _Member = new List <Lid>(); List <Medewerker> _Employee = new List <Medewerker>(); Bezoeker Visitor = null; Lid Member = null; Medewerker Employee = null; #region Creating single Lid, employee and visitor Bezoeker Frank = new Bezoeker("James", "Franko"); Lid Joe = new Lid("joe", "Franko"); Medewerker Louis = new Medewerker("Louis", "Loeckx"); _visitors.Add(Frank); _Member.Add(Joe); _Employee.Add(Louis); #endregion string firstname = ""; string lastname = ""; #region Login Menu Console.WriteLine("Please log in as Lid or member"); Console.WriteLine("Or as Visitor"); Console.Write("[M] Member [E] employee [V] Visitor: "); ConsoleKey inputKey = Console.ReadKey().Key; Console.WriteLine(); switch (inputKey) { case ConsoleKey.M: Console.WriteLine("Please Login as Member:"); Console.Write("Firstname: "); firstname = Console.ReadLine(); Console.Write("Lastname: "); lastname = Console.ReadLine(); Member = new Lid(firstname, lastname); #region ItemsInLibrary Member._LibraryCollection.Add(new Item("Boek", 1, "To Kill A Mockingbird", "Harper Lee", 1960, false, false)); Member._LibraryCollection.Add(new Item("Boek", 2, "Catcher in the rye", "J.D. Salinger", 1951, false, false)); Member._LibraryCollection.Add(new Item("Boek", 3, "Nineteen Eighty Four", "George Orwel", 1949, false, false)); Member._LibraryCollection.Add(new Item("Boek", 4, "The Handmaids Tale", "Margaret Atwood", 1985, false, false)); Member._LibraryCollection.Add(new Item("DVD", 5, "Lord of the rings: The fellowship of the ring", "Peter jackson", 2001, false, false)); Member._LibraryCollection.Add(new Item("DVD", 6, "Metropolis", "Fritz Lang", 1927, false, false)); #endregion if (_Member.Contains(Member)) { Console.WriteLine("You have been logged in."); } else { Console.WriteLine("Member does not exist"); break; } Console.WriteLine(); Member.GeefOverzichtMembers(_Member); break; case ConsoleKey.E: Console.WriteLine("Please Login as Employee:"); Console.Write("Firstname: "); firstname = Console.ReadLine(); Console.Write("Lastname: "); lastname = Console.ReadLine(); // to move Employee = new Medewerker(firstname, lastname); #region ItemsInLibrary Employee._LibraryCollection.Add(new Item("Boek", 1, "To Kill A Mockingbird", "Harper Lee", 1960, false, false)); Employee._LibraryCollection.Add(new Item("Boek", 2, "Catcher in the rye", "J.D. Salinger", 1951, false, false)); Employee._LibraryCollection.Add(new Item("Boek", 3, "Nineteen Eighty Four", "George Orwel", 1949, false, false)); Employee._LibraryCollection.Add(new Item("Boek", 4, "The Handmaids Tale", "Margaret Atwood", 1985, false, false)); Employee._LibraryCollection.Add(new Item("DVD", 5, "Lord of the rings: The fellowship of the ring", "Peter jackson", 2001, false, false)); Employee._LibraryCollection.Add(new Item("DVD", 6, "Metropolis", "Fritz Lang", 1927, false, false)); #endregion if (_Employee.Contains(Employee)) { Console.WriteLine("You have been logged in."); } else { Console.WriteLine("Employee does not exist"); break; } Console.WriteLine(); Employee.GeefOverzichtEmployees(_Employee);; break; case ConsoleKey.V: Console.WriteLine("Please Register as a visitor and enter a first and lastname"); Console.Write("Firstname: "); firstname = Console.ReadLine(); Console.Write("Lastname: "); lastname = Console.ReadLine(); Visitor = new Bezoeker(firstname, lastname); #region ItemsInLibrary Visitor._LibraryCollection.Add(new Item("Boek", 1, "To Kill A Mockingbird", "Harper Lee", 1960, false, false)); Visitor._LibraryCollection.Add(new Item("Boek", 2, "Catcher in the rye", "J.D. Salinger", 1951, false, false)); Visitor._LibraryCollection.Add(new Item("Boek", 3, "Nineteen Eighty Four", "George Orwel", 1949, false, false)); Visitor._LibraryCollection.Add(new Item("Boek", 4, "The Handmaids Tale", "Margaret Atwood", 1985, false, false)); Visitor._LibraryCollection.Add(new Item("DVD", 5, "Lord of the rings: The fellowship of the ring", "Peter jackson", 2001, false, false)); Visitor._LibraryCollection.Add(new Item("DVD", 6, "Metropolis", "Fritz Lang", 1927, false, false)); #endregion if (_visitors.Contains(Visitor)) { Console.WriteLine("You have been logged in."); Console.WriteLine(); Visitor.GeefOverzichtVisitors(_visitors); } else { Console.WriteLine("You have been Logged in."); _visitors.Add(Visitor); Console.WriteLine(); Visitor.GeefOverzichtVisitors(_visitors); break; } Console.WriteLine(); break; default: break; } #endregion #region Menu Visitor if (inputKey == ConsoleKey.V) { Console.WriteLine(); Console.WriteLine("[R] Register for membership [S] Search for a specific item by id [O] Show items"); ConsoleKey VisitorInputKey = Console.ReadKey().Key; Console.WriteLine(); switch (VisitorInputKey) { case ConsoleKey.O: Visitor.ToonOverzicht(_visitors); break; case ConsoleKey.R: Member = new Lid(firstname, lastname); _Member.Add(Member); Console.WriteLine(); break; case ConsoleKey.S: Console.Write("What item do you wish to search for please enter an id: "); int id = int.Parse(Console.ReadLine()); Visitor.ZoekItemMetId(id); break; default: break; } } #endregion #region Menu Member if (inputKey == ConsoleKey.M) { Console.WriteLine(); Console.WriteLine("[S] Search for a specific item by id or title [O] Show items [B] Borrow an item [R] return an item [H] Show Library loaning history [L] Show Loaned items [G] Show reserved items"); ConsoleKey MemberInputKey = Console.ReadKey().Key; Console.WriteLine(); switch (MemberInputKey) { case ConsoleKey.B: Console.Write("Please enter the itemId of the item you wish to borrow: "); int id = int.Parse(Console.ReadLine()); Member.Uitlenen(id); break; case ConsoleKey.H: foreach (var item in Member.UItleenHistoriek) { int count = 1; Console.WriteLine($"{count} \t{item.ItemId} \t {item.Title} \t {item.SoortItem} \t {item.Jaartal} \t {item.Uitgeleend} \t {item.Afgevoerd}"); count++; } break; case ConsoleKey.L: foreach (var item in Member.ItemsUitgeleend) { int count = 1; Console.WriteLine($"{count} \t{item.ItemId} \t {item.Title} \t {item.SoortItem} \t {item.Jaartal} \t {item.Uitgeleend} \t {item.Afgevoerd}"); count++; } break; case ConsoleKey.G: foreach (var item in Member.Reservaties) { int count = 1; Console.WriteLine($"{count} \t{item.ItemId} \t {item.Title} \t {item.SoortItem} \t {item.Jaartal} \t {item.Uitgeleend} \t {item.Afgevoerd}"); count++; } break; case ConsoleKey.O: Member.ToonOverzicht(_Member); break; case ConsoleKey.R: Console.Write("Please enter the itemId of the item you wish to return: "); id = int.Parse(Console.ReadLine()); Member.Terugbrengen(id); break; case ConsoleKey.S: Console.WriteLine("Do you wish to search for an item by id(I) or title(T)?: "); ConsoleKey searchKey = Console.ReadKey().Key; if (searchKey == ConsoleKey.I) { Console.Write("What item do you wish to search for please enter an id: "); id = int.Parse(Console.ReadLine()); Member.ZoekItemMetId(id); } else if (searchKey == ConsoleKey.T) { Console.Write("What item do you wish to search for please enter a title: "); string title = Console.ReadLine(); Member.ZoekItemMetTitle(title); } break; default: break; } } #endregion #region Menu Employee if (inputKey == ConsoleKey.E) { Console.WriteLine(); Console.WriteLine("[S] Search for a specific item by id or title [O] Show items [B] Borrow an item [R] return an item [H] Show Library loaning history [L] Show Loaned items [G] Show reserved items [P] Promote Member to Employee"); ConsoleKey EmployeeInputKey = Console.ReadKey().Key; Console.WriteLine(); switch (EmployeeInputKey) { case ConsoleKey.B: Console.Write("Please enter the itemId of the item you wish to borrow: "); int id = int.Parse(Console.ReadLine()); Employee.Uitlenen(id); break; case ConsoleKey.H: foreach (var item in Employee.UItleenHistoriek) { int count = 1; Console.WriteLine($"{count} \t{item.ItemId} \t {item.Title} \t {item.SoortItem} \t {item.Jaartal} \t {item.Uitgeleend} \t {item.Afgevoerd}"); count++; } break; case ConsoleKey.L: foreach (var item in Employee.ItemsUitgeleend) { int count = 1; Console.WriteLine($"{count} \t{item.ItemId} \t {item.Title} \t {item.SoortItem} \t {item.Jaartal} \t {item.Uitgeleend} \t {item.Afgevoerd}"); count++; } break; case ConsoleKey.G: foreach (var item in Employee.Reservaties) { int count = 1; Console.WriteLine($"{count} \t{item.ItemId} \t {item.Title} \t {item.SoortItem} \t {item.Jaartal} \t {item.Uitgeleend} \t {item.Afgevoerd}"); count++; } break; case ConsoleKey.O: Employee.ToonOverzicht(_Employee); break; case ConsoleKey.R: Console.Write("Please enter the itemId of the item you wish to return: "); id = int.Parse(Console.ReadLine()); Employee.Terugbrengen(id); break; case ConsoleKey.S: Console.WriteLine("Do you wish to search for an item by id(I) or title(T)?: "); ConsoleKey searchKey = Console.ReadKey().Key; if (searchKey == ConsoleKey.I) { Console.Write("What item do you wish to search for please enter an id: "); id = int.Parse(Console.ReadLine()); Employee.ZoekItemMetId(id); } else if (searchKey == ConsoleKey.T) { Console.Write("What item do you wish to search for please enter a title: "); string title = Console.ReadLine(); Employee.ZoekItemMetTitle(title); } break; case ConsoleKey.P: Console.WriteLine("Please enter a first and lastname of a member to promote: "); Console.Write("Firstname: "); string memberFirstname = Console.ReadLine(); Console.Write("Lastname: "); string memberLastname = Console.ReadLine(); _Employee.Add(Employee.PromoteToMember(memberFirstname, memberLastname, _Member)); break; default: break; } } #endregion }
private static void ActiesMedewerker(int keuze, Medewerker medewerker) { Item item; switch (keuze) { case 1: Menu.ClearScherm(); string zoekterm = Menu.SubMenuZoekItem(); Menu.ItemsTonen(medewerker.ZoekItem(zoekterm)); break; case 2: Menu.ClearScherm(); Overzicht(medewerker); break; case 3: item = Menu.ItemUitlenen(medewerker); if (item != null) { medewerker.Uitlenen(item); } break; case 4: item = Menu.ItemReserveren(medewerker); if (item != null) { medewerker.Reserveren(item); } break; case 5: item = Menu.ItemTerugbrengen(medewerker); if (item != null) { medewerker.Terugbrengen(item); } break; case 6: Menu.ToonUitleenhistoriek(medewerker); break; case 7: Menu.ToonUitgeleendeItems(medewerker); break; case 8: Menu.ToonGereserveerdeItems(medewerker); break; case 9: medewerker.PromoveerLidNaarMedewerker(Menu.GetLid()); break; case 10: medewerker.VoegItemToe(Menu.ItemToevoegen()); break; case 11: medewerker.VoerItemAf(Menu.ItemAfvoeren()); break; case 12: if (Validator.JaNee("Wilt u ledenbestanden aanmaken van alle leden?")) { medewerker.MaakLedenBestanden(); } break; case 13: basismenu = true; break; default: break; } }
static void Main(string[] args) { #region INPUT //Bekijk Solid principe nog is om beter toe te passen (single en factory patrn vooral deze laatste) Item item001 = new Item() { Titel = "De GVR", RegieAuteurUitvoerder = "Shaquille O'Neil", ItemId = "1", soortItem = ClassLibrary.Models.SoortItem.Boek, Jaartal = 2000, Uitgeleend = false, Afgevoerd = false }; //zulke zaken in class Item item002 = new Item() { Titel = "The Last Dance", RegieAuteurUitvoerder = "Michael Jordan", ItemId = "2", soortItem = ClassLibrary.Models.SoortItem.DVD, Jaartal = 1995, Uitgeleend = false, Afgevoerd = false }; Item item003 = new Item() { Titel = "Suske & Wiske", RegieAuteurUitvoerder = "Willy Vandersteen", ItemId = "3", soortItem = ClassLibrary.Models.SoortItem.Stripverhaal, Jaartal = 1999, Uitgeleend = true, Afgevoerd = false }; Bezoeker bez001 = new Bezoeker() { VoorNaam = "Jeff", FamilieNaam = "Van Om Den Hoek" }; Lid lid001 = new Lid() { VoorNaam = "Mauro", FamilieNaam = "Gay", GeboorteDatum = "18 12 1986" }; Medewerker medewerker001 = new Medewerker() { VoorNaam = "Den Joe", FamilieNaam = "Biden", GeboorteDatum = "10 01 1960" }; CollectieBibliotheek.ItemsInCollectie.Add(item001); CollectieBibliotheek.ItemsInCollectie.Add(item002); CollectieBibliotheek.ItemsInCollectie.Add(item003); CollectieBibliotheek.Leden.Add(lid001); CollectieBibliotheek.Leden.Add(medewerker001); #endregion #region MENU Bezoeker nieuweBezoeker = new Bezoeker(); Console.WriteLine("Hallo en welkom in onze vernieuwde Bibliotheek-console\n" + "Hoe wilt u zich aanmelden:\nA)LID\nB)MEDEWERKER\nC)BEZOEKER"); ConsoleKey instructionKey = Console.ReadKey().Key; //indien er gekozen word voor inloggen->toon overzicht leden of medewerkers(naargelang inlog-optie) Console.Clear(); switch (instructionKey) { #region SWITCH CASE LIDMENU case ConsoleKey.A: Console.WriteLine("A)LID:\n"); //Hier moet ik nog zorgen dat ik kan inloggen als lid Console.WriteLine($"Hallo Lid {lid001.VoorNaam}, \n(ter info:hier moet ik nog zorgen voor lid uit lijst te selecteren,\n voorlopig gaat programma verder met Mauro Gay als Lid)"); Console.WriteLine("\nWat wil je doen:\n" + "A)Zoek een Item op Titel of op item Id\n" + "B)Toon overzichten\n" + "C)Leen item uit\n" + "D)Reserveer een item\n" + "E)Breng item terug\n" + "F)Bekijk uitleenhistoriek\n" + "G)Bekijk uitgeleende items\n" + "H)Bekijk gereserveerde items\n"); ConsoleKey instructionKeyLid = Console.ReadKey().Key; Console.Clear(); switch (instructionKeyLid) { case ConsoleKey.A: Console.WriteLine("A)Zoek een Item op Titel of op item Id\n"); lid001.ZoekItem(); break; case ConsoleKey.B: Console.WriteLine("B)Toon overzichten\n"); lid001.ToonOverzicht(); break; case ConsoleKey.C: Console.WriteLine("C)Leen item uit\n"); Console.WriteLine("(ter info, momenteel lukt het enkel bij invoeren van item variabel naam vb item001)"); Console.WriteLine("Voorlopig gaat het programma verder met item001"); lid001.Uitlenen(item001); break; case ConsoleKey.D: Console.WriteLine("D)Reserveer een item\n"); Console.WriteLine("(ter info, momenteel lukt het enkel bij invoeren van item variabel naam vb item002)"); Console.WriteLine("Voorlopig gaat het programma verder met item002"); lid001.Reserveren(item002); break; case ConsoleKey.E: Console.WriteLine("E)Breng item terug\n"); Console.WriteLine("(ter info, momenteel lukt het enkel bij invoeren van item variabel naam vb item001)"); Console.WriteLine("Voorlopig gaat het programma verder met item001"); lid001.Terugbrengen(item001); break; case ConsoleKey.F: Console.WriteLine("F)Bekijk uitleenhistoriek\n"); Console.WriteLine("tip: zolang niets uitgeleend is via methode, blijft lijst leeg"); Console.WriteLine(lid001.UitleenHistoriek); break; case ConsoleKey.G: Console.WriteLine("G)Bekijk uitgeleende items\n"); lid001.ShowUitgeleendeItems(); break; case ConsoleKey.H: Console.WriteLine("H)Bekijk gereserveerde items\n"); lid001.ShowReservaties(); break; } break; #endregion #region SWITCH CASE MEDEWERKERMENU case ConsoleKey.B: Console.WriteLine("B)MEDEWERKER:\n"); Console.WriteLine($"Hallo Medewerker {medewerker001.VoorNaam}, \n(ter info:hier moet ik nog zorgen voor medewerker uit lijst te selecteren,\n voorlopig gaat programma verder met Den Joe Biden als Medewerker)"); Console.WriteLine("\nWat wil je doen:\n" + "A)Zoek een Item op Titel of op item Id\n" + "B)Toon overzichten\n" + "C)Leen item uit\n" + "D)Reserveer een item\n" + "E)Breng item terug\n" + "F)Bekijk uitleenhistoriek\n" + "G)Bekijk uitgeleende items\n" + "H)Bekijk gereserveerde items\n" + "I)Promoveer lid naar medewerker\n" + "J)Voeg Item toe aan de collectie\n" + "K)Voer een item af uit de collectie\n" ); ConsoleKey instructionKeyMedewerker = Console.ReadKey().Key; Console.Clear(); switch (instructionKeyMedewerker) { case ConsoleKey.A: Console.WriteLine("A)Zoek een Item op Titel of op item Id\n"); medewerker001.ZoekItem(); break; case ConsoleKey.B: Console.WriteLine("B)Toon overzichten\n"); medewerker001.ToonOverzicht(); break; case ConsoleKey.C: Console.WriteLine("C)Leen item uit\n"); Console.WriteLine("(ter info, momenteel lukt het enkel bij invoeren van item variabel naam vb item001)"); Console.WriteLine("Voorlopig gaat het programma verder met item001"); medewerker001.Uitlenen(item001); break; case ConsoleKey.D: Console.WriteLine("D)Reserveer een item\n"); Console.WriteLine("(ter info, momenteel lukt het enkel bij invoeren van item variabel naam vb item002)"); Console.WriteLine("Voorlopig gaat het programma verder met item002"); medewerker001.Reserveren(item002); break; case ConsoleKey.E: Console.WriteLine("E)Breng item terug\n"); Console.WriteLine("(ter info, momenteel lukt het enkel bij invoeren van item variabel naam vb item001)"); Console.WriteLine("Voorlopig gaat het programma verder met item001"); medewerker001.Terugbrengen(item001); break; case ConsoleKey.F: Console.WriteLine("F)Bekijk uitleenhistoriek\n"); Console.WriteLine("tip: zolang niets uitgeleend is via methode, blijft lijst leeg"); Console.WriteLine(medewerker001.UitleenHistoriek); break; case ConsoleKey.G: Console.WriteLine("G)Bekijk uitgeleende items\n"); medewerker001.ShowUitgeleendeItems(); break; case ConsoleKey.H: Console.WriteLine("H)Bekijk gereserveerde items\n"); medewerker001.ShowReservaties(); break; case ConsoleKey.I: Console.WriteLine("I)Promoveer lid naar medewerker\n"); medewerker001.PromoveerLidNaarMedeweker(); break; case ConsoleKey.J: Console.WriteLine("J)Voeg Item toe aan de collectie\n"); medewerker001.VoegItemToe(); break; case ConsoleKey.K: Console.WriteLine("K)Voer een item af uit de collectie\n"); medewerker001.VoerItemAf(); break; } break; #endregion #region SWITCH CASE BEZOEKERMENU case ConsoleKey.C: Console.WriteLine("C)BEZOEKER:\n"); Console.WriteLine("Geef je familienaam:"); nieuweBezoeker.FamilieNaam = Console.ReadLine(); Console.WriteLine("\nGeef je voornaam:"); nieuweBezoeker.VoorNaam = Console.ReadLine(); Console.Clear(); Console.WriteLine(nieuweBezoeker.VoorNaam); Console.WriteLine("Wat wil je doen:\n" + "A)Registreer als Lid\n" + "B)Zoek een Item op Titel of op item Id\n" + "C)Toon overzichten"); //verwijst naar submenu om soort overzicht te kiezen(4) ConsoleKey instructionKeyBezoeker = Console.ReadKey().Key; Console.Clear(); switch (instructionKeyBezoeker) { case ConsoleKey.A: Console.WriteLine("A)Registreer als Lid:\n"); Console.WriteLine("Geef je geboortedatum"); string geboortedatum = Console.ReadLine(); nieuweBezoeker.RegistreerLid(geboortedatum); break; case ConsoleKey.B: Console.WriteLine("B)Zoek een Item op titel of ItemId\n"); nieuweBezoeker.ZoekItem(); break; case ConsoleKey.C: Console.WriteLine("C)Toon overzichten\n"); nieuweBezoeker.ToonOverzicht(); break; } break; //default: // endApp = true; // break; #endregion } #endregion //EVENTUEEL OM LIJSTEN WEG TE SCHRIJVEN NAAR TEKSTBESTANDEN //Voor een Item aan Textfile Afgevoerde items toe te voegen, eerst method VoerItemAf uitvoeren #region Write list To TextFile ItemsInCollectie, Afgevoerde Items, Leden //string fileAdresItemsInCollectie = @"C:\Users\Mauro\OneDrive\Bureaublad\Intec\temp\ItemsInCollectie.txt"; //List<string> output1 = new List<string>(); //foreach (var item in CollectieBibliotheek.ItemsInCollectie) //{ // output1.Add($"{item.Titel},{item.RegieAuteurUitvoerder},{item.ItemId},{item.soortItem},{item.Jaartal},{item.Uitgeleend},{item.Afgevoerd}"); //} //File.WriteAllLines(fileAdresItemsInCollectie, output1); //string fileAdresAfgevoerdeItems = @"C:\Users\Mauro\OneDrive\Bureaublad\Intec\temp\afgevoerdeItems.txt"; //List<string> output2 = new List<string>(); //foreach (var item in CollectieBibliotheek.AfgevoerdeItems) //{ // output2.Add($"{item.Titel},{item.RegieAuteurUitvoerder},{item.ItemId},{item.soortItem},{item.Jaartal},{item.Uitgeleend},{item.Afgevoerd}"); //} //File.WriteAllLines(fileAdresAfgevoerdeItems, output2); //string fileAdresLeden = @"C:\Users\Mauro\OneDrive\Bureaublad\Intec\temp\Leden.txt"; //List<string> output3 = new List<string>(); //foreach (var item in CollectieBibliotheek.Leden) //{ // output3.Add($"{item.VoorNaam},{item.FamilieNaam},{item.GeboorteDatum}{item.ItemsUitgeleend}"); //} //File.WriteAllLines(fileAdresLeden, output3); #endregion }