public void SaveTafels(TafelArray tafels) { var JSONoptions = new JsonSerializerOptions { WriteIndented = true, }; File.WriteAllText("Tafels.json", JsonSerializer.Serialize(tafels, JSONoptions)); }
public void removeReservering(Reservering reservering, TafelArray tafels) { reservering.RemoveTafels(tafels, true); Reservering[] newReserveringen = new Reservering[this.Reserveringen.Length - 1]; for (int i = 0, j = 0; i < this.Reserveringen.Length; i++) { if (this.Reserveringen[i] != reservering) { newReserveringen[j++] = this.Reserveringen[i]; } } this.Reserveringen = newReserveringen; }
public ReserveerLijst BekijkReserveringenMedewerker(TafelArray tafels) { if (Reserveringen == null) { Reserveringen = new Reservering[0]; } if (Reserveringen.Length == 0) { Console.Clear(); Console.WriteLine(ASCIIART.ReserveringenArt()); Console.WriteLine("Er zijn nog geen reserveringen gemaakt\x0a\x0a" + "Klik op een toets om terug te gaan"); Console.ReadKey(); return(this); } while (true) { Console.Clear(); Console.WriteLine(ASCIIART.ReserveringenArt()); Console.WriteLine("Voor welke datum wilt u de reserveringen bekijken? (21 juni)\n\nEnter: Ga terug naar het vorige scherm"); string datum = Console.ReadLine(); datum.ToLower(); Console.Clear(); if (datum == "") { return(this); } datum = CheckDatum.checkDatum(datum); int AantalRelevanteReserveringen = BerekenRelevanteReserveringen(datum); if (AantalRelevanteReserveringen <= 0) { Console.Clear(); Console.WriteLine(ASCIIART.ReserveringenArt()); Console.WriteLine("Er zijn nog geen reserveringen gedaan voor deze datum of de datum is ongeldig. Klik op een toets om terug te gaan.\x0a"); Console.ReadKey(); } else { Reservering[] RelevanteReserveringen = new Reservering[AantalRelevanteReserveringen]; int j = 0; foreach (Reservering reservering in Reserveringen) { if (reservering.Datum == datum) { RelevanteReserveringen[j++] = reservering; } } BekijkSpecifiekePaginaMedewerker(RelevanteReserveringen, tafels, datum); } } }
public void BekijkSpecifiekeReserveringMedewerker(Reservering reservering, TafelArray tafels) //Laat een specifieke reservering zien, met de opties om tafels toe te voegen of te verwijderen, als dit mogelijk is. { bool wrongInput = false; while (true) { Console.Clear(); reservering.Info(); bool heeftTafelsNodig = reservering.HeeftTafelsNodig(); bool heeftTafels = reservering.HeeftTafels(); if (heeftTafelsNodig) { Console.WriteLine("\nA: Tafels koppelen"); } if (heeftTafels) { Console.WriteLine("\nB: Tafels ontkoppelen"); } Console.WriteLine("0: Terug"); if (wrongInput) { Console.WriteLine("Verkeerde Input!"); } char userInput = Console.ReadKey().KeyChar; if (userInput == '0') { return; } else if (userInput == 'A' && heeftTafelsNodig) { reservering.AddTafels(tafels); } else if (userInput == 'B' && heeftTafels) { reservering.RemoveTafels(tafels); } else { wrongInput = true; } } }
public void AddTafels(TafelArray tafels) { bool wrongInput = false; while (true) { Console.Clear(); Console.WriteLine(ASCIIART.TafelsArt()); Console.WriteLine("Koppel Tafels aan de reservering\n"); Console.WriteLine("1: Bekijk alle vrije tafels\n"); Console.WriteLine("2: Koppel tafels via ID\n"); Console.WriteLine("3: Automatisch koppelen\n"); Console.WriteLine("0: Terug\n"); if (wrongInput) { Console.WriteLine("Wrong input! Probeer 1, 2, 3 of 0"); } char userInput = Console.ReadKey().KeyChar; switch (userInput) { case '1': tafels.BekijkVrijeTafels($"{this.Tijd}{this.Datum}"); break; case '2': this.Tafels = tafels.KoppelenDoorMedewerker(this.Personen, this.Tafels, $"{this.Tijd}{this.Datum}"); //Personen -> aantal personen, Tafels -> gereserveerde tafels die al gekoppeld zijn. break; case '3': this.Tafels = tafels.AutomatischKoppelen(this.Personen, this.Tafels, $"{this.Tijd}{this.Datum}"); //Personen -> aantal personen, Tafels -> gereserveerde tafels die al gekoppeld zijn. break; case '0': return; default: wrongInput = true; break; } return; } }
public void changeReservering(Reservering reservering, TafelArray tafels) { while (true) { Console.Clear(); reservering.Info(); Console.WriteLine("\nR: Verwijder reservering\n0: Terug"); ConsoleKeyInfo toetsUser = Console.ReadKey(); char toetsUserChar = toetsUser.KeyChar; if (toetsUserChar == '0') { return; } if (toetsUserChar == 'R' || toetsUserChar == 'r') { while (true) { Console.Clear(); Console.WriteLine(ASCIIART.ReserverenArt()); Console.WriteLine($"Weet u zeker dat u uw reservering voor {reservering.Datum} wil verwijderen?\n\nR: Verwijder reservering\n0: Terug"); ConsoleKeyInfo toetsUserBevestig = Console.ReadKey(); char toetsUserBevestigChar = toetsUserBevestig.KeyChar; if (toetsUserBevestigChar == '0') { break; } if (toetsUserBevestigChar == 'r' || toetsUserBevestigChar == 'R') { removeReservering(reservering, tafels); Console.Clear(); Console.WriteLine(ASCIIART.ReserverenArt()); Console.WriteLine("Uw reservering is succesvol verwijderd\n\n0: Terug"); Console.ReadKey(); return; } } } } }
public void RemoveTafels(TafelArray tafels, bool klantCall = false) //klantCall is een variabele die op true wordt gezet als er vanuit een klant een reservering wordt verwijderd. { bool wrongInput = false; while (true) { if (klantCall) { this.Tafels = tafels.AllesAutomatischOntkoppelen(this.Tafels, $"{this.Tijd}{this.Datum}", true); return; } Console.Clear(); Console.WriteLine(ASCIIART.TafelsOntkoppelenArt()); Console.WriteLine("1: Alles ontkoppelen"); Console.WriteLine("2: Ontkoppelen met tafel ID"); Console.WriteLine("0: Terug"); if (wrongInput) { Console.WriteLine("Wrong input! Probeer 1, 2 of 0"); } char userInput = Console.ReadKey().KeyChar; switch (userInput) { case '1': this.Tafels = tafels.AllesAutomatischOntkoppelen(this.Tafels, $"{this.Tijd}{this.Datum}"); break; case '2': this.Tafels = tafels.OntKoppelenMetID(this.Tafels, $"{this.Tijd}{this.Datum}"); break; case '0': return; default: wrongInput = true; break; } } }
public void BekijkSpecifiekePaginaMedewerker(Reservering[] RelevanteReserveringen, TafelArray tafels, string datum) //Laat specifieke reserveringen zien op paginas { int huidigePaginaNR = 0; bool wrongInput = false; while (true) { int hoeveelheidPaginas = (int)Math.Ceiling(RelevanteReserveringen.Length / 7.0); //berekent het aantal paginas door het te delen door 7 Console.Clear(); Console.WriteLine(ASCIIART.ReserveringenArt()); Console.WriteLine($"{datum}\nPagina {huidigePaginaNR + 1}/{hoeveelheidPaginas}\n"); for (int i = 0; i < 7 && i + huidigePaginaNR * 7 < RelevanteReserveringen.Length; i++) //laat de correcte reserveringen zien van een bepaalde tafel { Console.WriteLine($"{i + 1}: {RelevanteReserveringen[i + huidigePaginaNR * 7].TijdString()} {RelevanteReserveringen[i + huidigePaginaNR * 7].Bezoeker} ({RelevanteReserveringen[i + huidigePaginaNR * 7].Personen} personen)"); } Console.WriteLine(); if (huidigePaginaNR + 1 < hoeveelheidPaginas) { Console.WriteLine("8: Volgende pagina"); } if (huidigePaginaNR + 1 >= hoeveelheidPaginas && (hoeveelheidPaginas > 1)) { Console.WriteLine("9: Vorige pagina"); } Console.WriteLine("0: Ga terug naar het startscherm"); if (wrongInput) { Console.WriteLine("Verkeerde input!"); wrongInput = false; } try { int Index = Int32.Parse(Console.ReadKey().KeyChar.ToString()); if (Index == 0) { return; } if (Index > 0 && Index < 8) { try { BekijkSpecifiekeReserveringMedewerker(RelevanteReserveringen[Index - 1], tafels); } catch (IndexOutOfRangeException) { wrongInput = true; } } else if (Index == 8 && huidigePaginaNR + 1 < hoeveelheidPaginas) { huidigePaginaNR++; } else if (Index == 9 && huidigePaginaNR + 1 >= hoeveelheidPaginas && (hoeveelheidPaginas > 1)) { huidigePaginaNR--; } else { Console.WriteLine("Dit is geen geldige input"); Console.WriteLine("\x0a" + "Enter: Ga terug naar het vorige scherm"); Console.ReadKey(); } } catch (FormatException) { wrongInput = true; } } }
public void BekijkReserveringenKlant(string klantNaam, TafelArray tafels) { if (Reserveringen == null) //als er geen reserveringen zijn nog, maakt een nieuwe reservering aan met 0. { Reserveringen = new Reservering[0]; } if (Reserveringen.Length == 0) //als er 0 reserveringen zijn voor de klant dan returnt de code { Console.Clear(); Console.WriteLine(ASCIIART.ReserverenArt()); Console.WriteLine("U heeft nog geen reserveringen gemaakt\x0a\x0a" + "Enter: Ga terug naar het startscherm"); Console.ReadKey(); return; } int huidigePaginaNR = 0; while (true) { int Aantal = 0; foreach (Reservering reservering in Reserveringen) { if (reservering.Bezoeker == klantNaam) { Aantal++; } } if (Aantal == 0) { return; } Reservering[] KlantReserveringen = new Reservering[Aantal]; int j = 0; for (int i = 0; i < Reserveringen.Length; i++) { if (Reserveringen[i].Bezoeker == klantNaam) { KlantReserveringen[j++] = Reserveringen[i]; } } int hoeveelheidPaginas = (int)Math.Ceiling(KlantReserveringen.Length / 7.0); Console.Clear(); Console.WriteLine(ASCIIART.ReserveringenArt()); Console.WriteLine($"Pagina {huidigePaginaNR + 1}/{hoeveelheidPaginas}\n"); for (int i = 0; i < 7 && i + huidigePaginaNR * 7 < KlantReserveringen.Length; i++) { Console.WriteLine($"{i + 1}: {KlantReserveringen[i + huidigePaginaNR * 7].Datum} om {KlantReserveringen[i + huidigePaginaNR * 7].TijdString()} ({KlantReserveringen[i + huidigePaginaNR * 7].Personen} personen)"); } Console.WriteLine(); if (huidigePaginaNR + 1 < hoeveelheidPaginas) { Console.WriteLine("8: Volgende pagina"); } if (huidigePaginaNR + 1 >= hoeveelheidPaginas && (hoeveelheidPaginas > 1)) { Console.WriteLine("9: Vorige pagina"); } Console.WriteLine("0: Ga terug naar het startscherm"); int Index = Int32.Parse(Console.ReadKey().KeyChar.ToString()); Console.Clear(); if (Index == 0) { return; } if (Index < 7 && Index > 0) { changeReservering(KlantReserveringen[Index - 1], tafels); } else if (Index == 8 && huidigePaginaNR + 1 < hoeveelheidPaginas) { huidigePaginaNR++; } else if (Index == 9 && huidigePaginaNR + 1 >= hoeveelheidPaginas && (hoeveelheidPaginas > 1)) { huidigePaginaNR--; } else { Console.WriteLine("Dit is geen geldige input\x0a\x0a" + "Enter: Ga terug naar het vorige scherm"); Console.ReadKey(); } } }