public void Execute(OptionAttempt attempt)
        {
            Console.WriteLine("\nOption 4. Delete Movie Screenings");

            this.attempt = attempt;
            DeleteScreening();
        }
        public void Execute(OptionAttempt attempt)
        {
            Console.WriteLine("\nOption 5. Order Movie Tickets");

            this.attempt = attempt;
            List <Ticket> ticketList = new List <Ticket>();
            Order         order      = new Order();

            order.Status = "Unpaid";

            int       movieIndex   = Select.Movie(attempt) - 1;
            Screening session      = SelectSession(movieIndex);
            int       numOfTickets = GetNoOfTicket(session);

            CheckMovieClassification(movieIndex);

            // Ordering of tickets
            for (int i = 1; i <= numOfTickets; i++)
            {
                Console.WriteLine("\nTicket #" + i);
                // Hand resposibility over to TicketFactory
                Ticket ticket = TicketFactory.CreateTicket(GetTicketType(), session, attempt);
                order.AddTicket(ticket);
            }

            session.SeatsRemaining -= numOfTickets;
            PrintOrderSummary(order, session);
        }
Example #3
0
        public static Ticket CreateTicket(String type, Screening screening, OptionAttempt attempt)
        {
            type = type.ToUpper();
            Ticket ticket;

            switch (type)
            {
            case "ADULT":
                ticket = new Adult(screening, attempt);
                break;

            case "SENIOR":
            case "SENIORCITIZEN":
                ticket = new SeniorCitizen(screening, attempt);
                break;

            case "STUDENT":
                ticket = new Student(screening, attempt);
                break;

            default:
                throw new SystemException();     // Throw SystemException as it can't be handled
            }

            return(ticket);
        }
Example #4
0
        public void Execute(OptionAttempt attempt)
        {
            Console.WriteLine("\nOption 7. View Movie Rating and Comments");

            Movie movie = Program.movieList[Select.Movie(attempt) - 1];

            Console.WriteLine(String.Format("\nThe rating for {0} is {1:0.00}", movie.Title, Select.MovieRating(movie)));
            PrintComments(movie);
        }
Example #5
0
 public SeniorCitizen(Screening screening, OptionAttempt attempt) : base(screening)
 {
     YearOfBirth = ((DateTime)attempt.Run(() => {
         Console.Write("Please enter year of birth [YYYY]: ");
         return(Utility.TryConvertingStringToDateTime(Console.ReadLine()));
     },
                                          obj => {
         return(DateTime.Today.Year - 55 >= ((DateTime)obj).Year);
     })).Year;
 }
 public Adult(Screening screening, OptionAttempt attempt) : base(screening)
 {
     PopcornOffer = attempt.Run(() => {
         Console.Write("Would you like to buy a popcorn set for $3.00 [Y/N]: ");
         return(Console.ReadLine().ToUpper());
     },
                                obj => {
         return(obj.Equals("Y") ||
                obj.Equals("N"));
     }).Equals("Y") ? true : false;
 }
Example #7
0
        public static int Movie(OptionAttempt attempt)
        {
            return((int)attempt.Run(() => {
                Display.Movies();

                Console.Write("Select a movie: ");
                return Utility.TryConvertingStringToInt(Console.ReadLine());
            },
                                    obj => {
                return ((int)obj <= Program.movieList.Count && (int)obj > 0);
            }));
        }
 public Student(Screening screening, OptionAttempt attempt) : base(screening)
 {
     LevelOfStudy = (String)attempt.Run(() => {
         Console.Write("Please enter level of study [Primary/Secondary/Tertiary]: ");
         return(Console.ReadLine().ToUpper());
     },
                                        obj => {
         return(obj.Equals("PRIMARY") ||
                obj.Equals("SECONDARY") ||
                obj.Equals("TERTIARY"));
     });
 }
        public void Execute(OptionAttempt attempt)
        {
            Console.WriteLine("\nOption 2. Add Movie Screening");

            this.attempt = attempt;
            int      cinemaHall    = SelectCinemaHall();
            int      movieIndex    = Select.Movie(attempt);
            String   screeningType = SelectScreeningType();
            DateTime date          = SelectScreeningDateTime(movieIndex);

            Program.screeningList.Add(new Screening(date, screeningType, Program.cinemaHallList[--cinemaHall],
                                                    Program.movieList[--movieIndex]));
            Console.WriteLine("\nMovie screening successfully created.");
        }
Example #10
0
        public void Execute(OptionAttempt attempt)
        {
            Console.WriteLine("\nOption 8. Recommend movies");

            this.attempt        = attempt;
            moviePoints         = new Dictionary <Movie, int>();
            safeForUser         = new List <Movie>();
            member              = null;
            numberOfTimesCalled = new Dictionary <MovieGenre, int>();

            bool newUser = !Login();

            LoadData();
            if (newUser)
            {
                GetUserPreference();
            }
            SortMovies();
            PrintRecommendation();
        }
Example #11
0
        public void Execute(OptionAttempt attempt)
        {
            Console.WriteLine("\nOption 6. Add Movie Rating");

            this.attempt = attempt;

            Movie movie = GetMovie();

            // Display current rating
            Console.WriteLine("The current rating for the " + movie.Title + " is " +
                              String.Format("{0:0.00}.", Select.MovieRating(movie)));

            int rating = GetRating();

            // Enter comments
            Console.Write("Please enter comments about the movie: ");
            Program.movieRatingList.Add(new MovieRating(rating, Console.ReadLine(), movie));

            Console.WriteLine("\nThank you for your submission.");
            Console.WriteLine("the new rating for the movie is " +
                              String.Format("{0:0.00}.", Select.MovieRating(movie)));
        }
        public void Execute(OptionAttempt attempt)
        {
            Console.WriteLine("\nOption 3. List Movie Screenings");

            DisplayMovieScreening(Select.Movie(attempt) - 1); // - 1 for indexing
        }
Example #13
0
 public void Execute(OptionAttempt attempt)
 {
     Console.WriteLine("\nOption 1. List All Movies");
     Display.Movies();
 }