/// <summary> /// Ontkoppelen van Tafels met ID /// </summary> /// <param name="gereserveerdeTafels">Lijst met de tafels die al zijn gekoppeld aan de reservering</param> /// <param name="tijdEnDatum">De tijd en datum waarop de reservering plaatsvindt (string format)</param> /// <returns>Returns de vernieuwde lijst voor de reservering (als deze is aangepast)</returns> public List <Tafel> OntKoppelenMetID(List <Tafel> gereserveerdeTafels, string tijdEnDatum) { while (true) { Console.Clear(); Console.WriteLine(ASCIIART.TafelsOntkoppelenArt()); Console.WriteLine("Voer het ID van de tafel in die u wilt ontkoppelen\n\nKlik op 0 en klik enter om terug te gaan"); string userInput = Console.ReadLine(); if (userInput == "0") { return(gereserveerdeTafels); } bool tafelSuccesvolOntkoppeld = false; for (int j = 0; j < gereserveerdeTafels.Count; j++) //voor elke tafel die in de gereserveerdeTafels staat van de klant { if (gereserveerdeTafels[j].ID == userInput) { for (int i = 0; i < gereserveerdeTafels[j].Gereserveerd.Count; i++) //voor elke datum die in Gereserveerd staat van de klant { if (gereserveerdeTafels[j].Gereserveerd[i] == tijdEnDatum) //Als de tafel daadwerkelijk is gekoppeld voor dezelfde tijd { Console.Clear(); Console.WriteLine(ASCIIART.TafelsOntkoppelenArt()); Console.WriteLine($"{gereserveerdeTafels[j].ID} succesvol ontkoppeld van de reservering\n\nKlik op een toets om door te gaan"); gereserveerdeTafels[j].Gereserveerd.Remove(tijdEnDatum); gereserveerdeTafels.Remove(gereserveerdeTafels[j]); tafelSuccesvolOntkoppeld = true; Console.ReadKey(); break; } } } } if (!tafelSuccesvolOntkoppeld) //Als de tafels niet succesvol zijn ontkoppeld { Console.Clear(); Console.WriteLine(ASCIIART.TafelsOntkoppelenArt()); Console.WriteLine($"Tafel {userInput} is niet gevonden voor deze reservering.\n\nKlik op een toets om terug te gaan"); Console.ReadKey(); } } }
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; } } }
/// <summary> /// Ontkoppeld automatisch tafels van een reservering /// </summary> /// <param name="gereserveerdeTafels">Lijst met de tafels die al zijn gekoppeld aan de reservering</param> /// <param name="tijdEnDatum">De tijd en datum waarop de reservering plaatsvindt (string format)</param> /// <param name="klantCall">Boolean die op true wordt gezet als er vanuit een klant een reservering wordt verwijderd.</param> /// <returns>Returns de vernieuwde lijst voor de reservering</returns> public List <Tafel> AllesAutomatischOntkoppelen(List <Tafel> gereserveerdeTafels, string tijdEnDatum, bool klantCall = false) //klantCall is een variabele die op true wordt gezet als er vanuit een klant een reservering wordt verwijderd. { while (true) { bool wrongInput = false; char userInput = '6'; Console.Clear(); if (klantCall) { userInput = '1'; } else { Console.WriteLine(ASCIIART.TafelsOntkoppelenArt()); Console.WriteLine($"alle tafels van de reservering worden automatisch ontkoppeld, weet u dit zeker?\n"); Console.WriteLine($"1: Ja\n"); Console.WriteLine($"0: Nee\n"); if (wrongInput) { Console.WriteLine("Wrong Input! Probeer 1 of 0"); } userInput = Console.ReadKey().KeyChar; } switch (userInput) { case '1': Console.Clear(); if (gereserveerdeTafels == null) { gereserveerdeTafels = new List <Tafel>(); } foreach (Tafel tafel in Tafels) { if (tafel.Gereserveerd == null) { tafel.Gereserveerd = new List <string>(); } for (int i = 0; i < tafel.Gereserveerd.Count; i++) { if (tafel.Gereserveerd[i] == tijdEnDatum) { tafel.Gereserveerd.Remove(tafel.Gereserveerd[i]); if (!klantCall) //Als een klant zijn reservering verwijderd hoeft deze print niet getoont te worden { Console.WriteLine($"Tafel {tafel.ID} is ontkoppeld van de reservering"); } } } } gereserveerdeTafels.Clear(); SaveTafels(this); if (klantCall) { return(gereserveerdeTafels); } Console.WriteLine("Toets op een knop om verder te gaan"); Console.ReadLine(); return(gereserveerdeTafels); case '0': return(gereserveerdeTafels); default: wrongInput = true; break; } } }