Example #1
0
        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
                }
            }
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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();
            }
        }