public bool ReservationScreen()
        {
            DateTime datumNu = DateTime.Today;

            Console.WriteLine("Reserveringen");
            Console.WriteLine("---------------------------------");
            Console.WriteLine("Datum = " + datumNu);
            Console.WriteLine("---------------------------------");


            List <JsonObject> Reserveringen;

            using (var stream = File.OpenText("DataReservations.json"))
            {
                var json = stream.ReadToEnd();
                Reserveringen = JsonConvert.DeserializeObject <List <JsonObject> >(json);
            }

            var dagreservering = Reserveringen.FirstOrDefault(res => res.Datum == datumNu);

            if (dagreservering == null)
            {
                Console.WriteLine("Geen reservaties vandaag!");
                return(true);
            }

            return(true);
        }
Example #2
0
        // Add to Database
        #region

        public Task <Reserveringen> AddReservering(Reserveringen res, ReserveringenVertoningen rVert)
        {
            _CinemaDbContext.Entry(res).State = EntityState.Added;
            _CinemaDbContext.Reserveringen.Add(res);
            _CinemaDbContext.SaveChanges();

            _CinemaDbContext.Entry(rVert).State = EntityState.Added;
            _CinemaDbContext.ReserveringenVertoningen.Add(rVert);
            _CinemaDbContext.SaveChanges();

            return(Task.FromResult(res));
        }
        public async void OnSubmit()
        {
            InteractIdentity interactIdentity = new InteractIdentity();
            // maakt nieuwe 'reserveringen' gegevens aan
            Reserveringen newRes = new Reserveringen
            {
                ReserveringsId = newReserveringsId,
                KlantId        = await interactIdentity.GetIdentityUserIdAsync(_userManager, _httpContext)
            };

            // maakt nieuwe 'ReserveringenVertoningen' gegevens aan
            ReserveringenVertoningen newRVert = new ReserveringenVertoningen
            {
                ReserveringsId = newReserveringsId,
                VertoningsId   = vertoning.Id,
                AantalTickets  = AantalTickets
            };

            await resController.AddReservering(newRes, newRVert);

            // TODO: Stuurt de gebruiker niet door naar laatste gedeelte bestelling, moet wel
            navigationManager.NavigateTo($"/profile/besteloverzicht/bestelling/{newReserveringsId}");
        }
Example #4
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
                }
            }
        }