public static void Reserveer() { Dictionary <string, List <List <string> > > Reserveringen; List <List <string> > reserveringen = new List <List <string> >(); List <string> newReservering = new List <string>(); //Check of user is ingelogd if (Variables.isLoggedIn) { Console.WriteLine("\nU bent ingelogd en kunt reserveren\n\n"); Console.WriteLine("\nWelke dag wilt u naar de film? (gebruik dit format -> 27/05/2020)\n"); string datum; while (true) { datum = Console.ReadLine(); try { var date = Convert.ToDateTime(datum); if (datum == "Q") { LogedIn.LogedInMain(); } else if (date < DateTime.Now) { Console.WriteLine("Je kan niet in het verleden reserveren. (voer een 'q' in om te annuleren)"); Console.WriteLine("\nWelke dag wilt u naar de film? (gebruik dit format -> 27/05/2020)\n"); } else { break; } } catch { Console.WriteLine("Voer A.U.B geldige data in! (gebruik dit format -> 27/05/2020)\n"); } } Calendar.showfilms(datum); Console.WriteLine("\nWelke film wilt u reserveren?\n"); string keuze = Console.ReadLine(); int number = Convert.ToInt32(keuze) - 1; var calendar = JsonConvert.DeserializeObject <Dictionary <string, Dictionary <string, List <List <string> > > > >(File.ReadAllText(@"calendar.json")); //haal titel op voor film die gereserveerd wordt //werkt nog niet... titel van iedere film op de datum wordt gepakt var filmLijst = new List <String>(); var zaalLijst = new List <String>(); foreach (var zaal in calendar[datum]) { foreach (var films in zaal.Value) { filmLijst.Add(films[0]); zaalLijst.Add(zaal.Key); } } string filmNaam = filmLijst[number]; string zaalNaam = zaalLijst[number]; //Json bestand met films openen en lezen JsonSerializer serializer = new JsonSerializer(); Movies.Movie[] newMovies = JsonConvert.DeserializeObject <Movies.Movie[]>(File.ReadAllText(@"Movies.json")); //aantal kaartjes vaststellen Console.WriteLine("Hoeveel kaartjes wilt u bestellen voor de film " + filmNaam + "?\n"); int aantalKaartjes = Convert.ToInt32(Console.ReadLine()); //kies stoelen Console.WriteLine("U kunt nu " + aantalKaartjes + " stoelen selecteren.\n"); Console.WriteLine("De volgende stoelen zijn beschikbaar:\n"); foreach (var zaal in calendar[datum]) { foreach (var films in zaal.Value) { if ((films[0] == filmNaam) && (zaal.Key == zaalNaam)) { Zalen.removedStoelen(datum, (films[1]), zaalNaam); } } } int counter = 1; string row; string chair; List <string> stoelenGereserveerd = new List <string>(); while (counter <= aantalKaartjes) { Console.WriteLine("\nKies stoel nummer " + counter + ": (bijvoorbeeld: 'A5')"); string antwoord = Console.ReadLine(); row = antwoord[0].ToString(); if (antwoord.Length > 2) { chair = antwoord[1].ToString() + antwoord[2].ToString(); } else { chair = antwoord[1].ToString(); } foreach (var zaal in calendar[datum]) { foreach (var films in zaal.Value) { if ((films[0] == filmNaam) && (zaal.Key == zaalNaam)) { string Zaal = zaal.Key; Zalen.checkAvailability(datum, (films[1]), Zaal, row + chair); if (Variables.stoelAvailable) { stoelenGereserveerd.Add(row); stoelenGereserveerd.Add(chair); counter += 1; } else { Console.WriteLine("\nDeze stoel is niet beschikbaar. Probeer opnieuw"); } } } } } double totaalPrijs = 0; foreach (var item in newMovies) { if (item.title == filmNaam) { //totaalprijs berekenen totaalPrijs = aantalKaartjes * item.price; Variables.totaalPrijs = totaalPrijs; } } //Om € teken zichtbaar te maken Console.OutputEncoding = System.Text.Encoding.UTF8; Console.WriteLine("\n\nDe totaalprijs bedraagt \u20AC" + totaalPrijs); //Keuze om te bevestigen of terug te gaan naar films overzicht Console.WriteLine("\n\n[1] Bevestig reservering\n[2] Breek reservering af\n"); int optie = Convert.ToInt32(Console.ReadLine()); if (optie == 1) { //Deserialize json file Reserveringen = JsonConvert.DeserializeObject <Dictionary <string, List <List <string> > > >(File.ReadAllText(@"Reserveringen.json")); //Kijk of persoon al bestaat in reserveringen database if (Reserveringen.ContainsKey(Variables.username) == true) { //Indien dit het geval is, voeg nieuwe reservering toe aan persoon foreach (var zaal in calendar[datum]) { foreach (var films in zaal.Value) { if ((films[0] == filmNaam) && (zaal.Key == zaalNaam)) { newReservering.Add(filmNaam); string Zaal = zaal.Key; newReservering.Add(Zaal); newReservering.Add(aantalKaartjes.ToString()); newReservering.Add(films[1]); newReservering.Add(datum); int counter2 = 0; int counter3 = 0; while (counter2 < aantalKaartjes) { newReservering.Add(stoelenGereserveerd[counter3] + stoelenGereserveerd[counter3 + 1]); counter3 += 2; counter2 += 1; } Reserveringen[Variables.username].Add(newReservering); } } } } //Maak anders persoon aan in database en voeg reservering toe else { foreach (var zaal in calendar[datum]) { foreach (var films in zaal.Value) { if ((films[0] == filmNaam) && (zaal.Key == zaalNaam)) { newReservering.Add(filmNaam); string Zaal = zaal.Key; newReservering.Add(Zaal); newReservering.Add(aantalKaartjes.ToString()); newReservering.Add(films[1]); newReservering.Add(datum); int counter2 = 0; int counter3 = 0; while (counter2 < aantalKaartjes) { newReservering.Add(stoelenGereserveerd[counter3] + stoelenGereserveerd[counter3 + 1]); counter3 += 2; counter2 += 1; } reserveringen.Add(newReservering); Reserveringen.Add(Variables.username, reserveringen); } } } } //Schrijf terug naar json file using (StreamWriter file = File.CreateText(@"Reserveringen.json")) { JsonSerializer serialize = new JsonSerializer(); serialize.Serialize(file, Reserveringen); } // Send mail to confirm reservation //Movies.MovieProgram db = new Movies.MovieProgram(); //db.ConfirmationMail(); Console.WriteLine("\n\nBedankt voor uw reservering. \nU heeft op " + datum + " de film " + filmNaam + " gereserveerd. \nU kunt de reservering vinden bij 'Mijn Reserveringen' in het onderstaande menu. \nOok hebben wij u een bevestigingsmail gestuurd.\n"); } if (optie == 2) { // Terug naar menu if (Variables.isLoggedIn) { LogedIn.LogedInMain(); } else { Mainmenu.Menu(); } } if (Variables.isLoggedIn) { LogedIn.LogedInMain(); } else { Mainmenu.Menu(); } } else { Console.WriteLine("U bent niet ingelogd\n"); Console.WriteLine("Druk op ESC om in te loggen\n"); if (Console.ReadKey().Key != ConsoleKey.Escape) { } else { Console.Clear(); //Geef inlog pagina weer Console.WriteLine("\nDit is de account pagina. Kies een van de volgende opties:"); Login.loginMain(); //Aanroepen account.cs } } }
public static void Menu() { Console.Clear(); Console.WriteLine("Welkom op de app van bioscoop De Goude Ticket"); Console.WriteLine("\nKies een van de volgende opties om verder te gaan:\n[1] Films\n[2] Snacks menu\n[3] Contact\n[4] Mijn account"); Console.Write("> "); string optieMenu = Console.ReadLine(); try { if (optieMenu == "1") { bool tempMenu = true; while (tempMenu == true) { Console.Clear(); // Run database Movies.MovieProgram db = new Movies.MovieProgram(); //Films menu Console.WriteLine("\n[1] Alle films bekijken\n[2] Film zoeken\n[3] Ga terug"); Console.Write("> "); optieMenu = Console.ReadLine(); if (optieMenu == "1") { Console.Clear(); //Geef pagina met films weer db.MovieShow(); Console.WriteLine("\n\nKies een van de volgende opties:\n[1] Film bekijken\n[2] Film reserveren\n[3] Ga terug"); string optieMenu3 = Console.ReadLine(); if (optieMenu3 == "1") { db.pickMovie(); } else if (optieMenu3 == "2") { Reserveren.Reserveer(); } else if (optieMenu3 == "3") { Mainmenu.Menu(); } else { Console.WriteLine("Voer een getal in"); } } else if (optieMenu == "2") { tempMenu = false; Console.Clear(); db.filterMovie(); } else if (optieMenu == "3") { tempMenu = false; Console.Clear(); Mainmenu.Menu(); } } } else if (optieMenu == "2") { Console.Clear(); //Geef pagina met snacks menu weer Snacks.SnacksProgram snackdb = new Snacks.SnacksProgram(); snackdb.SnacksShow(); string optieSnacksMenu; Console.WriteLine("\n\nWilt u terug naar het menu?\n[1] Ja\n[2] Nee"); optieSnacksMenu = Console.ReadLine(); try { if (optieSnacksMenu == "1") { Console.Clear(); Mainmenu.Menu(); } else if (optieSnacksMenu == "2") { Environment.Exit(1); } else { Console.Clear(); // Wanneer de input niet 1 of 2 is Console.WriteLine("\nGelieve een nummer tussen 1 en 2 in te toetsen"); Mainmenu.Menu(); } } catch { Console.Clear(); // Wanneer de input geen int is Console.WriteLine("\nEr is iets fout gegaan. Probeer opnieuw."); Mainmenu.Menu(); } } else if (optieMenu == "3") { Console.Clear(); //Aanroepen contact.cs Contact.contact(); } else if (optieMenu == "4") { Console.Clear(); //Geef inlog pagina weer Console.WriteLine("\nDit is de account pagina. Kies een van de volgende opties:"); Login.loginMain(); //Aanroepen account.cs } else { Console.Clear(); //Wanneer de input niet tussen 1 en 4 ligt Console.WriteLine("\nGelieve een nummer tussen 1 en 4 in te toetsen"); Mainmenu.Menu(); } } catch { // Wanneer er iets ingevoerd word wat niet klopt. Console.WriteLine("\nOngeldige invoer. Probeer opnieuw."); Mainmenu.Menu(); } }
public static void LogedInAdmin() { Console.Clear(); Console.WriteLine("\nKies een van de volgende opties om verder te gaan:\n[1] Films\n[2] Voeg film toe\n[3] Plan film in\n[4] Verwijder film\n[5] Pas film aan\n[6] Reserveringen\n[7] Snack toevoegen\n[8] Snack verwijderen\n[9] Log uit"); Console.Write("> "); string menuNumber = Console.ReadLine(); if (menuNumber == "1") { /// Movies //Geef pagina met films weer Console.Clear(); Console.WriteLine("\nDit is de films pagina"); // Run database Movies.MovieProgram db = new Movies.MovieProgram(); db.MovieShow(); Console.WriteLine("\n\nKies een van de volgende opties:\n[1] Film bekijken\n[2] Ga terug"); string optieMenu3 = Console.ReadLine(); if (optieMenu3 == "1") { Console.Clear(); db.pickMovie(); } else if (optieMenu3 == "2") { Console.Clear(); LogedIn.LogedInAdmin(); } } else if (menuNumber == "2") { // Add movie function Console.WriteLine("Op deze pagina kunt u films toevoegen"); Console.Clear(); Movies.MovieProgram db = new Movies.MovieProgram(); db.addMovie(); LogedIn.LogedInAdmin(); } else if (menuNumber == "3") { Console.Clear(); // Assign movie Console.WriteLine("Op deze pagina kunt u films inplannen"); Movies.MovieProgram db = new Movies.MovieProgram(); db.schedualMovie(); LogedIn.LogedInAdmin(); } else if (menuNumber == "4") { // Delete movie function Console.Clear(); Console.WriteLine("Op deze pagina kunt u films verwijderen"); Movies.MovieProgram db = new Movies.MovieProgram(); db.deleteMovie(); Console.WriteLine("Press ESC to go to Home"); if (Console.ReadKey().Key != ConsoleKey.Escape) { } else { LogedIn.LogedInAdmin(); } } else if (menuNumber == "5") { // Edit movie function Console.Clear(); Movies.MovieProgram db = new Movies.MovieProgram(); db.EditMovie(); Console.WriteLine("Press ESC to go to Home"); if (Console.ReadKey().Key != ConsoleKey.Escape) { } else { LogedIn.LogedInAdmin(); } } else if (menuNumber == "6") { // Reservations Pagina Console.Clear(); ///Geeft alle gereserveerde films weer var reserveringen = JsonConvert.DeserializeObject <Dictionary <string, List <List <string> > > >(File.ReadAllText(@"Reserveringen.json")); bool resAnswer = false; while (!resAnswer) { foreach (var user in reserveringen) { int num = 1; Console.WriteLine($"\nAlle reserveringen van {user.Key}:"); foreach (var item in reserveringen[user.Key]) { Console.WriteLine($"\n[{num}] {item[0]}"); Console.WriteLine("===================="); Console.WriteLine($"Film: {item[0]}"); Console.WriteLine($"Theaterzaal: {item[1]}"); Console.WriteLine($"Aantal kaartjes: {item[2]}"); Console.WriteLine($"Starttijd: {item[3]}"); Console.WriteLine($"Datum: {item[4]}"); int counter = 5; string str = "Stoelen: "; while (item.Count > counter) { str += (item[counter] + " "); counter += 1; } Console.WriteLine($"{str}\n"); num++; } Console.WriteLine($"\nKies een reservering om te verwijderen, kies {num} om naar de volgende gebruiker te gaan of kies {num + 1} om terug naar het menu te gaan"); string a = Console.ReadLine(); int showResAnswer = 0; if (int.TryParse(a, out showResAnswer)) { showResAnswer = Convert.ToInt32(a); } else { Console.WriteLine("\nVoer een nummer in"); continue; } if (showResAnswer > 0 && showResAnswer < num) { bool delAnswer = false; while (!delAnswer) { Console.WriteLine($"\nWeet u zeker dat u van gebruiker: {user.Key} de reservering van {reserveringen[user.Key][showResAnswer - 1][0]} wilt verwijderen?\n[1] Ja\n[2] Nee"); reserveringen[user.Key].RemoveAt(showResAnswer - 1); string confirmDelete = Console.ReadLine(); if (confirmDelete == "1") { using (StreamWriter file = File.CreateText(@"Reserveringen.json")) { JsonSerializer serializerz = new JsonSerializer(); serializerz.Serialize(file, reserveringen); Console.WriteLine("\nReservering is verwijderd."); } delAnswer = true; resAnswer = true; LogedInAdmin(); } else if (confirmDelete == "2") { delAnswer = true; resAnswer = true; LogedInAdmin(); } else { Console.WriteLine("\nVoer 1 of 2 in"); } } } else if (showResAnswer == num) { continue; } else if (showResAnswer == num + 1) { resAnswer = true; LogedInAdmin(); } else { Console.WriteLine($"\nVoer een nummer tussen 1 en {num} in"); } } Console.WriteLine("Press ESC to go to Home"); if (Console.ReadKey().Key != ConsoleKey.Escape) { } else { LogedInAdmin(); } } } else if (menuNumber == "7") { Console.Clear(); Snacks.SnacksProgram snackdb = new Snacks.SnacksProgram(); snackdb.addSnack(); LogedIn.LogedInAdmin(); } else if (menuNumber == "8") { Console.Clear(); Snacks.SnacksProgram snackdb = new Snacks.SnacksProgram(); snackdb.deleteSnack(); LogedIn.LogedInAdmin(); } else if (menuNumber == "9") { Console.Clear(); Console.WriteLine("Succesvol uitgelogd!"); Login.loginMain(); } else { Console.Clear(); Console.WriteLine("Ongeldige invoer. Probeer opnieuw."); LogedIn.LogedInAdmin(); } }