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;
            }
        }
        /// <summary>
        /// Koppelen van Tafels met ID
        /// </summary>
        /// <param name="aantalMensen">Hoeveelheid mensen die bij de reservering aanwezig zullen zijn</param>
        /// <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> KoppelenDoorMedewerker(int aantalMensen, List <Tafel> gereserveerdeTafels, string tijdEnDatum) //Koppelen door medewerker heeft als input een int aantal mensen, en list van tafels die al gekoppeld zijn aan de reservering.
        {
            int    checkTijd  = TijdEnDatumNaarInt(tijdEnDatum);                                                           //De gegeven tijd in int (1200)
            string checkDatum = TijdEnDatumNaarDatum(tijdEnDatum);                                                         //De gegeven datum in string (Zaterdag 1 januari 2021)

            while (true)
            {
                Console.Clear();
                Console.WriteLine(ASCIIART.TafelsKoppelenArt());
                if (BerekenTafelsDieNogGekoppeldMoetenWorden(aantalMensen, gereserveerdeTafels) <= 0) //0 megenomen omdat dat aangeeft dat er precies genoeg tafels zijn gekoppeld.
                {
                    Console.WriteLine("Er zijn genoeg tafels gekoppeld aan deze reservering. Klik op een toets om terug te gaan");
                    SaveTafels(this);
                    Console.ReadKey();
                    return(gereserveerdeTafels);
                }
                Console.WriteLine("Voer het ID van een tafel in om hem toe te voegen aan de reservering (bijv: 1A)\n\n0: Terug");
                string userInput = Console.ReadLine();
                if (userInput == "0")
                {
                    SaveTafels(this);
                    return(gereserveerdeTafels);
                }
                bool succesvolGekoppeld = false;
                foreach (Tafel tafel in Tafels)
                {
                    bool alGereserveerd = false;
                    if (tafel.Gereserveerd == null)
                    {
                        tafel.Gereserveerd = new List <string>();
                    }
                    if (userInput == tafel.ID)
                    {
                        foreach (string data in tafel.Gereserveerd)
                        {
                            if (TijdEnDatumNaarDatum(data) == checkDatum)                //Als het op dezelfde dag plaats vind
                            {
                                if (TijdCheck(checkTijd, TijdEnDatumNaarInt(data), 200)) //checkt of de tafel al gereserveerd is ergens binnen 200 (2 uur) van tevoren of 2 uur daarna, zo ja, Is al gereserveerd.
                                {
                                    alGereserveerd = true;
                                }
                            }
                        }
                        if (!alGereserveerd)
                        {
                            if (gereserveerdeTafels == null)
                            {
                                gereserveerdeTafels = new List <Tafel>();
                            }
                            Console.Clear();
                            Console.WriteLine(ASCIIART.TafelsArt());
                            gereserveerdeTafels.Add(tafel);
                            tafel.Gereserveerd.Add($"{TijdEnDatumNaarInt(tijdEnDatum)}{TijdEnDatumNaarDatum(tijdEnDatum)}"); //1200Zaterdag 1 januari 2021
                            succesvolGekoppeld = true;
                            Console.WriteLine($"{tafel.ID} toegevoegd aan de reservering!\n\nKlik op een toets en klik enter om verder te gaan");
                            Console.ReadLine();
                            break;
                        }
                    }
                }
                if (!succesvolGekoppeld)
                {
                    Console.Clear();
                    Console.WriteLine(ASCIIART.TafelsArt());
                    Console.WriteLine($"{userInput} is al gekoppeld voor deze tijd of bestaat niet als tafel in het systeem! Klik op een toets om door te gaan");
                    Console.ReadLine();
                }
            }
        }
        }                       //Empty constructor for json deserializen

        /// <summary>
        /// Laat alle vrije tafels van een bepaalde datum + tijd zien verdeeld onder maximaal 3 kolommen.
        /// </summary>
        /// <param name="tijdEnDatum">De tijd en datum die wordt gechecked in string format</param>
        public void BekijkVrijeTafels(string tijdEnDatum)
        {
            int    checkTijd  = TijdEnDatumNaarInt(tijdEnDatum);   //De gegeven tijd in int (1200)
            string checkDatum = TijdEnDatumNaarDatum(tijdEnDatum); //De gegeven datum in string (Zaterdag 1 januari 2021)
            bool   wrongInput = false;

            while (true)
            {
                Console.Clear();
                Console.WriteLine(ASCIIART.TafelsArt());
                Console.WriteLine($"Vrije Tafels in The Fat Duck voor {checkDatum} om {checkTijd} uur. (+-2 uur extra voor lopende reserveringen)\n");
                string topString   = "";
                string tafelString = ""; //tafel string waar alle tafels aan worden toegevoegt
                int    counter     = 1;
                foreach (Tafel tafel in Tafels)
                {
                    bool alGereserveerd = false;
                    if (tafel.Gereserveerd != null)
                    {
                        foreach (string data in tafel.Gereserveerd)
                        {
                            if (isEenTafelAlGereserveerd(data, checkDatum, checkTijd))
                            {
                                alGereserveerd = true;
                                break;
                            }
                        }
                    }
                    if (alGereserveerd != true)
                    {
                        tafelString += $"{tafel.ID},\t{tafel.Plekken}\t\t";
                    }
                    if (counter % 3 == 0)
                    {
                        tafelString += "\n"; //zorgt voor in totaal 3 tabellen van tafels
                    }
                    counter++;
                }
                if (counter >= 3)
                {
                    topString += "ID:\tPlek:\t\tID:\tPlek:\t\tID:\tPlek:\t";
                }
                else if (counter == 2)
                {
                    topString += "ID:\tPlek:\t\tID:\tPlek:\t";
                }
                else
                {
                    topString += "ID:\tPlek:\t";
                }

                Console.WriteLine(topString);
                Console.WriteLine(tafelString);
                Console.WriteLine("\n\n0: Terug");
                if (wrongInput)
                {
                    Console.WriteLine("Verkeerde Input! Probeer 0");
                }
                char userInput = Console.ReadKey().KeyChar;
                if (userInput == '0')
                {
                    return;
                }
                wrongInput = true;
            }
        }