private int SelectCinemaHall() { return((int)attempt.Run(() => { Display.CinemaHall(); Console.Write("Select a cinema hall: "); return Utility.TryConvertingStringToInt(Console.ReadLine()); }, obj => { return ((int)obj <= Program.cinemaHallList.Count); })); }
private Movie GetMovie() { return(Program.movieList[(int)attempt.Run(() => { Display.Movies(); Console.Write("\nEnter a movie number to review movie: "); return Utility.TryConvertingStringToInt(Console.ReadLine()); }, obj => { return ((int)obj <= Program.movieList.Count && (int)obj > 0); }) - 1]); }
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; }
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")); }); }
private Screening SelectSession(int movieIndex) { int sessionIndex = (int)attempt.Run(() => { Console.WriteLine(String.Format("\n{0, -5} {1,-20} {2,-15} {3, -25} {4, -20}", "No", "Location", "Type", "Date/Time", "Seats Remaining")); foreach (Screening screening in Program.screeningList) { if (screening.Movie == Program.movieList[movieIndex]) { Console.WriteLine(String.Format("{0, -5} {1,-20} {2,-15} {3, -25} {4, -20}", screening.ScreeningNo, screening.CinemaHall.Name, screening.ScreeningType, screening.ScreeningDateTime.ToString("dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture), screening.SeatsRemaining)); } } Console.Write("Select a session: "); return(Utility.TryConvertingStringToInt(Console.ReadLine())); }, obj => { List <int> correctList = new List <int>(); foreach (Screening screening in Program.screeningList) { if (screening.Movie == Program.movieList[movieIndex]) { correctList.Add(Int32.Parse(screening.ScreeningNo)); } } return(correctList.Contains((int)obj)); }); foreach (Screening screening in Program.screeningList) { if (screening.ScreeningNo.Equals(sessionIndex.ToString())) { return(screening); } } return(null); // Should never return null }
private void DeleteScreening() { attempt.Run(() => { Display.movieScreening(); Console.Write("Enter a screening number to delete: "); int numberToDelete = Utility.TryConvertingStringToInt(Console.ReadLine()); if (numberToDelete > 0) { foreach (Screening screening in Program.screeningList) { if (Int32.Parse(screening.ScreeningNo) == numberToDelete) { Program.screeningList.Remove(screening); Console.WriteLine("\nScreening deleted."); return(true); // Return true since the operation is a success } } } return(false); // Return false since the operation is a failure }); }
private void GetUserPreference() { Random random = new Random(); Movie movie1 = null; Movie movie2 = null; int option = 0; Console.WriteLine("\nWe want to know you better!"); foreach (MovieGenre genre in Enum.GetValues(typeof(MovieGenre))) { numberOfTimesCalled.Add(genre, 1); } for (int i = 1; i <= Program.NO_MOVIE_ASKED; i++) { movie1 = safeForUser[random.Next(0, safeForUser.Count)]; for (int j = 0; j < 3; j++) { movie2 = safeForUser[random.Next(0, safeForUser.Count)]; if (movie1 != movie2) { break; } } attempt.Run(() => { Console.WriteLine("\nTell us which movie you would prefer to watch! [" + i + "/" + Program.NO_MOVIE_ASKED + "]"); Console.WriteLine("1) " + movie1.Title); Console.WriteLine("2) " + movie2.Title); Console.WriteLine("3) I don't know"); Console.Write("Enter your option: "); option = Utility.TryConvertingStringToInt(Console.ReadLine()); if (option == 1 || option == 2 || option == 3) { return(true); } return(false); }); switch (option) { case 1: SetUserPreference(movie1); break; case 2: SetUserPreference(movie2); break; default: break; } } // To ensure fairness foreach (MovieGenre genre in Enum.GetValues(typeof(MovieGenre))) { member.GenreLikings[genre] /= numberOfTimesCalled[genre]; } }