public static void Main(string[] args) { logger.Info("Program started"); string scrubbedFile = FileScrubber.ScrubMovies("../../movies.csv"); string albumFileName = "../../albums.csv"; string bookFileName = "../../books.csv"; MovieFile movieFile = new MovieFile(scrubbedFile); AlbumFile albumFile = new AlbumFile(albumFileName); BookFile bookFile = new BookFile(bookFileName); string choice = ""; do { // display choices to user Console.WriteLine("\n1) Add Movie"); Console.WriteLine("2) Search Movie"); Console.WriteLine("3) Display All Movies"); Console.WriteLine("4) Add Album"); Console.WriteLine("5) Search Album"); Console.WriteLine("6) Display All Albums"); Console.WriteLine("7) Add Book"); Console.WriteLine("8) Search Book"); Console.WriteLine("9) Display All Books"); Console.WriteLine("\nEnter to quit"); // input selection choice = Console.ReadLine(); logger.Info("User choice: {Choice}", choice); if (choice == "1") { // Add movie Movie movie = new Movie(); // ask user to input movie title Console.WriteLine("Enter movie title"); // input title movie.title = Console.ReadLine(); // verify title is unique if (movieFile.isUniqueTitle(movie.title)) { // input genres string input; do { // ask user to enter genre Console.WriteLine("Enter genre (or done to quit)"); // input genre input = Console.ReadLine(); // if user enters "done" // or does not enter a genre do not add it to list if (input != "done" && input.Length > 0) { movie.genres.Add(input); } } while (input != "done"); // specify if no genres are entered if (movie.genres.Count == 0) { movie.genres.Add("(no genres listed)"); } // ask user to enter director Console.WriteLine("Enter movie director"); input = Console.ReadLine(); movie.director = input.Length == 0 ? "unassigned" : input; // ask user to enter running time Console.WriteLine("Enter running time (h:m:s)"); input = Console.ReadLine(); movie.runningTime = input.Length == 0 ? new TimeSpan(0) : TimeSpan.Parse(input); // add movie movieFile.AddMovie(movie); } else { Console.WriteLine("Movie title already exists\n"); } } else if (choice == "2") { // search movie Console.WriteLine("Enter Movie Title: "); String movieSearch = ""; movieSearch = Console.ReadLine(); var movie = movieFile.Movies.Where(m => m.title.Contains(movieSearch)).Select(m => m.title); Console.WriteLine($"Here are your movies...\n"); foreach (string m in movie) { Console.WriteLine(m); } } else if (choice == "3") { // Display All Movies foreach (Movie m in movieFile.Movies) { Console.WriteLine(m.Display()); } } else if (choice == "4") { // Add Album Album album = new Album(); // ask user to input album title Console.WriteLine("Enter album title"); // input title album.title = Console.ReadLine(); // verify title is unique if (albumFile.isUniqueTitle(album.title)) { // input genres string input; do { // ask user to enter genre Console.WriteLine("Enter genre (or done to quit)"); // input genre input = Console.ReadLine(); // if user enters "done" // or does not enter a genre do not add it to list if (input != "done" && input.Length > 0) { album.genres.Add(input); } } while (input != "done"); // specify if no genres are entered if (album.genres.Count == 0) { album.genres.Add("(no genres listed)"); } // ask user to enter director Console.WriteLine("Enter album artist"); input = Console.ReadLine(); album.artist = input.Length == 0 ? "unassigned" : input; // ask user to enter record label Console.WriteLine("Enter record label"); input = Console.ReadLine(); album.recordLabel = input.Length == 0 ? "unassigned" : input; // add album albumFile.AddAlbum(album); } else { Console.WriteLine("Album title already exists\n"); } } else if (choice == "5") { // search album Console.WriteLine("Enter Album Title: "); String albumSearch = ""; albumSearch = Console.ReadLine(); var album = albumFile.Albums.Where(m => m.title.Contains(albumSearch)).Select(m => m.title); Console.WriteLine($"Here are your albums...\n"); foreach (string a in album) { Console.WriteLine(a); } } else if (choice == "6") { // Display All Albums foreach (Album a in albumFile.Albums) { Console.WriteLine(a.Display()); } } else if (choice == "7") { // Add Book Book book = new Book(); // ask user to input book title Console.WriteLine("Enter book title"); // input title book.title = Console.ReadLine(); // verify title is unique if (bookFile.isUniqueTitle(book.title)) { // input genres string input; do { // ask user to enter genre Console.WriteLine("Enter genre (or done to quit)"); // input genre input = Console.ReadLine(); // if user enters "done" // or does not enter a genre do not add it to list if (input != "done" && input.Length > 0) { book.genres.Add(input); } } while (input != "done"); // specify if no genres are entered if (book.genres.Count == 0) { book.genres.Add("(no genres listed)"); } // ask user to enter author Console.WriteLine("Enter book author"); input = Console.ReadLine(); book.author = input.Length == 0 ? "unassigned" : input; // ask user to enter publisher Console.WriteLine("Enter publisher"); input = Console.ReadLine(); book.publisher = input.Length == 0 ? "unassigned" : input; // ask user to enter number of pages Console.WriteLine("Enter number of pages"); input = Console.ReadLine(); book.pageCount = input.Length == 0 ? (UInt16)0 : UInt16.Parse(input); // add book bookFile.AddBook(book); } else { Console.WriteLine("Book title already exists\n"); } } else if (choice == "8") { // Search Book Console.WriteLine("Enter Book Title: "); String bookSearch = ""; bookSearch = Console.ReadLine(); var book = bookFile.Books.Where(m => m.title.Contains(bookSearch)).Select(m => m.title); Console.WriteLine($"Here are your books...\n"); foreach (string b in book) { Console.WriteLine(b); } } else if (choice == "9") { // Display All Books foreach (Book b in bookFile.Books) { Console.WriteLine(b.Display()); } } } while (choice == "1" || choice == "2" || choice == "3" || choice == "4" || choice == "5" || choice == "6" || choice == "7" || choice == "8" || choice == "9"); logger.Info("Program ended"); }
static void Main(string[] args) { logger.Info("Program started"); // Movie movie = new Movie // { // mediaId = 123, // title = "Greatest Movie Ever, The (2020)", // director = "Jeff Grissom", // // timespan (hours, minutes, seconds) // runningTime = new TimeSpan(2, 21, 23), // genres = { "Comedy", "Romance" } // }; // Console.WriteLine(movie.Display()); // Album album = new Album // { // mediaId = 321, // title = "Greatest Album Ever, The (2020)", // artist = "Jeff's Awesome Band", // recordLabel = "Universal Music Group", // genres = { "Rock" } // }; // Console.WriteLine(album.Display()); // Book book = new Book // { // mediaId = 111, // title = "Super Cool Book", // author = "Jeff Grissom", // pageCount = 101, // publisher = "", // genres = { "Suspense", "Mystery" } // }; // Console.WriteLine(book.Display()); // Movie movie = new Movie // { // mediaId = 123, // title = "Greatest Movie Ever, The (2020)", // director = "Jeff Grissom", // // timespan (hours, minutes, seconds) // runningTime = new TimeSpan(2, 21, 23), // genres = { "Comedy", "Romance" } // }; // Console.WriteLine(movie.Display()); // Album album = new Album // { // mediaId = 321, // title = "Greatest Album Ever, The (2020)", // artist = "Jeff's Awesome Band", // recordLabel = "Universal Music Group", // genres = { "Rock" } // }; // Console.WriteLine(album.Display()); // Book book = new Book // { // mediaId = 111, // title = "Super Cool Book", // author = "Jeff Grissom", // pageCount = 101, // publisher = "", // genres = { "Suspense", "Mystery" } // }; // Console.WriteLine(book.Display()); string movieFilePath = Directory.GetCurrentDirectory() + "\\movies.scrubbed.csv"; MovieFile movieFile = new MovieFile(movieFilePath); string choice = ""; do { // display choices to user Console.WriteLine("1) Add Movie"); Console.WriteLine("2) Display All Movies"); Console.WriteLine("3) Search for a Movie"); Console.WriteLine("Enter to quit"); // input selection choice = Console.ReadLine(); logger.Info("User choice: {Choice}", choice); if (choice == "1") { // Add movie Movie movie = new Movie(); // ask user to input movie title Console.WriteLine("Enter movie title"); // input title movie.title = Console.ReadLine(); // verify title is unique if (movieFile.isUniqueTitle(movie.title)) { // input genres string input; do { // ask user to enter genre Console.WriteLine("Enter genre (or done to quit)"); // input genre input = Console.ReadLine(); // if user enters "done" // or does not enter a genre do not add it to list if (input != "done" && input.Length > 0) { movie.genres.Add(input); } } while (input != "done"); // specify if no genres are entered if (movie.genres.Count == 0) { movie.genres.Add("(no genres listed)"); } Console.WriteLine("Enter the Director: "); movie.director = Console.ReadLine(); if (movie.director == "") { movie.director = "unassigned"; } Console.WriteLine("Enter the Runtime: "); String runtime = Console.ReadLine(); if (runtime == "") { movie.runningTime = new TimeSpan(0); } else { movie.runningTime = TimeSpan.Parse(string.Format(runtime)); } // add movie movieFile.AddMovie(movie); } } else if (choice == "2") { // Display All Movies foreach (Movie m in movieFile.Movies) { Console.WriteLine(m.Display()); } } else if (choice == "3") { Console.WriteLine("Enter the movie to search"); String movieToSearch = Console.ReadLine(); var Movies = movieFile.Movies.Where(m => m.title.Contains(movieToSearch)); Console.WriteLine($"There are {Movies.Count()} movies with {movieToSearch} in the title"); foreach (Movie m in Movies) { Console.WriteLine($"{m.title}"); } } } while (choice == "1" || choice == "2" || choice == "3"); string scrubbedFile = FileScrubber.ScrubMovies("movies.csv"); logger.Info(scrubbedFile); logger.Info("Program ended"); }
static void Main(string[] args) { logger.Info("Program started"); string movieFilePath = "movies.scrubbed.csv"; // When trying to get the MoiveFile it comes up with "Program.cs(16,13): error CS0246: The type or namespace name 'MovieFile' could not be found (are you missing a using directive or an assembly reference?)" // but if I want to try and call moive it works just fine (besides for the part of how the program doesn't work because of the MoiveFile not working) MovieFile movieFile = new MovieFile(movieFilePath); Movie moive = new Movie(); string choice = ""; do { // display choices to user Console.WriteLine("1) Add Movie"); Console.WriteLine("2) Display All Movies"); Console.WriteLine("3) Search based on the title of a movie"); Console.WriteLine("Enter to quit"); // input selection choice = Console.ReadLine(); logger.Info("User choice: {Choice}", choice); if (choice == "1") { // Add movie Movie movie = new Movie(); // ask user to input movie title Console.WriteLine("Enter movie title"); // input title movie.title = Console.ReadLine(); // verify title is unique if (movieFile.isUniqueTitle(movie.title)) { // input genres string input; do { // ask user to enter genre Console.WriteLine("Enter genre (or done to quit)"); // input genre input = Console.ReadLine(); // if user enters "done" // or does not enter a genre do not add it to list if (input != "done" && input.Length > 0) { movie.genres.Add(input); } } while (input != "done"); // specify if no genres are entered if (movie.genres.Count == 0) { movie.genres.Add("(no genres listed)"); } Console.WriteLine("Enter movie director"); movie.director = Console.ReadLine(); Console.WriteLine("Enter running time (h:m:s)"); movie.runningTime = TimeSpan.Parse(Console.ReadLine()); // add movie movieFile.AddMovie(movie); } } else if (choice == "2") { // Display All Movies foreach (Movie m in movieFile.Movies) { Console.WriteLine(m.Display()); } } else if (choice == "3") { string input; Console.WriteLine("what do you want to search for:"); input = Console.ReadLine(); var titles = movieFile.Movies.Where(m => m.title.Contains(input)).Select(m => m.title); // LINQ - Count aggregation method Console.WriteLine($"There are {titles.Count()} movies with \"{input}\" in the title:"); foreach (string t in titles) { Console.WriteLine($" {t}"); } } } while (choice == "1" || choice == "2" || choice == "3"); logger.Info("Program ended"); }
static void Main(string[] args) { logger.Info("Program started"); string movieFilePath = "movies.scrubbed.csv"; MovieFile movieFile = new MovieFile(movieFilePath); string choice = ""; do { // display choices to user Console.WriteLine("1) Add Movie"); Console.WriteLine("2) Display All Movies"); Console.WriteLine("3) Find movie"); Console.WriteLine("Enter to quit"); // input selection choice = Console.ReadLine(); logger.Info("User choice: {Choice}", choice); switch (choice) { case "1": // Add movie Movie movie = new Movie(); // ask user to input movie title Console.WriteLine("Enter movie title"); // input title movie.title = Console.ReadLine(); // verify title is unique if (movieFile.isUniqueTitle(movie.title)) { // input genres string input; do { // ask user to enter genre Console.WriteLine("Enter genre (or done to quit)"); // input genre input = Console.ReadLine(); // if user enters "done" // or does not enter a genre do not add it to list if (input != "done" && input.Length > 0) { movie.genres.Add(input); } } while (input != "done"); // specify if no genres are entered if (movie.genres.Count == 0) { movie.genres.Add("(no genres listed)"); } Console.WriteLine("Enter movie director"); movie.director = Console.ReadLine(); Console.WriteLine("Enter running time (h:m:s)"); movie.runningTime = TimeSpan.Parse(Console.ReadLine()); // add movie movieFile.AddMovie(movie); } break; case "2": Console.WriteLine("Test"); // Display All Movies foreach (Movie m in movieFile.Movies) { Console.WriteLine(m.Display()); } break; case "3": Console.WriteLine("What is the title of the movie you want?"); choice = Console.ReadLine(); var movieSearch = movieFile.Movies.Where(m => m.title.Contains($"{choice}")); Console.WriteLine($"There are {movieSearch.Count()} movies with \"{choice}\" in the title:"); foreach (Movie m in movieSearch) { Console.WriteLine($" {m.title}"); } break; } } while (choice == "1" || choice == "2" || choice == "3"); logger.Info("Program ended"); }
static void Main(string[] args) { logger.Info("Program started"); string scrubbedFile = FileScrubber.ScrubMovies("movies.csv"); logger.Info(scrubbedFile); string movieFilePath = Directory.GetCurrentDirectory() + "\\movies.scrubbed.csv"; MovieFile movieFile = new MovieFile(movieFilePath); string choice = ""; do { Console.WriteLine("1) Add Movie"); Console.WriteLine("2) Display All Movies"); Console.WriteLine("Enter to quit"); choice = Console.ReadLine(); logger.Info("User choice: {Choice}", choice); if (choice == "1") { Movie movie = new Movie(); Console.WriteLine("Enter movie title"); movie.title = Console.ReadLine(); if (movieFile.isUniqueTitle(movie.title)) { Console.WriteLine("Movie title is unique\n"); string input; do { Console.WriteLine("Enter genre (or done to continue)"); input = Console.ReadLine(); if (input != "done" && input.Length > 0) { movie.genres.Add(input); } }while (input != "done"); if (movie.genres.Count == 0) { movie.genres.Add("(no genres listed)"); } Console.WriteLine("\nEnter movie director"); movie.director = Console.ReadLine(); Console.WriteLine("\nEnter running time (h:m:s)"); string runTime = Console.ReadLine(); movie.runningTime = TimeSpan.Parse(runTime); movieFile.AddMovie(movie); } } else if (choice == "2") { foreach (Movie m in movieFile.Movies) { Console.WriteLine(m.Display()); } } } while (choice == "1" || choice == "2"); logger.Info("Program ended"); }
static void Main(string[] args) { logger.Info("Program started"); // create list of movies string movieFilePath = Directory.GetCurrentDirectory() + "\\movies.scrubbed.csv"; MovieFile movieFile = new MovieFile(movieFilePath); string file = "movies.scrubbed.csv"; // check if file exists if (!File.Exists(file)) { logger.Info("The file " + file + " does not exist."); } else { string choice; do { Console.WriteLine("Enter 1 to add movie."); Console.WriteLine("Enter 2 to display all movies."); Console.WriteLine("Enter anything else to quit."); choice = Console.ReadLine(); if (choice == "1") { try { Movie movie = new Movie(); MovieManager movieManager = new MovieManager(); // ask user for name of title movie.title = movieManager.enterTitle(); // check to see if the same movie exists in library Boolean isUnique = movieFile.isUniqueTitle(movie.title); if (isUnique) { // movie.mediaId is calculated in movieFile.AddMovie(movie); movie.genres = movieManager.enterGenres(); movie.director = movieManager.enterDirector(); movie.runningTime = movieManager.enterRunningTime(); movieFile.AddMovie(movie); } } catch (Exception e) { logger.Error(e.Message); } } // display movies else if (choice == "2") { try { // Display All Movies foreach (Movie m in movieFile.Movies) { Console.WriteLine(m.Display()); } } catch (Exception e) { logger.Error(e.Message); } } } while (choice == "1" || choice == "2"); } logger.Info("Program ended"); }
static void Main(string[] args) { logger.Info("Program started"); // create list of movies string movieFilePath = Directory.GetCurrentDirectory() + "\\movies.scrubbed.csv"; MovieFile movieFile = new MovieFile(movieFilePath); string file = "movies.scrubbed.csv"; // check if file exists if (!File.Exists(file)) { logger.Info("The file " + file + " does not exist."); } else { string choice; do { Console.WriteLine("Enter 1 to add movie."); Console.WriteLine("Enter 2 to display all movies."); Console.WriteLine("Enter 3 to search movie titles."); Console.WriteLine("Enter anything else to quit."); choice = Console.ReadLine(); if (choice == "1") { try { Movie movie = new Movie(); MovieManager movieManager = new MovieManager(); // ask user for name of title movie.title = movieManager.enterTitle(); // check to see if the same movie exists in library Boolean isUnique = movieFile.isUniqueTitle(movie.title); if (isUnique) { // movie.mediaId is calculated in movieFile.AddMovie(movie); movie.genres = movieManager.enterGenres(); movie.director = movieManager.enterDirector(); movie.runningTime = movieManager.enterRunningTime(); movieFile.AddMovie(movie); } } catch (Exception e) { logger.Error(e.Message); } } // display movies else if (choice == "2") { try { // Display All Movies foreach (Movie m in movieFile.Movies) { Console.WriteLine(m.Display()); } } catch (Exception e) { logger.Error(e.Message); } } // search movie titles else if (choice == "3") { try { Console.WriteLine("Enter text to search: "); string text = Console.ReadLine(); // display number of matches var numberMovies = movieFile.Movies.Where(m => m.title.Contains(text)).Count(); Console.WriteLine($"There are {numberMovies} movies with \"{text}\" in the title."); // change display color in terminal Console.ForegroundColor = ConsoleColor.Green; // display movie titles that match var movieTitleMatch = movieFile.Movies.Where(m => m.title.Contains(text)); foreach (Movie m in movieTitleMatch) { Console.WriteLine($" {m.title}"); } // change display color back to white Console.ForegroundColor = ConsoleColor.White; } catch (Exception e) { logger.Error(e.Message); } } } while (choice == "1" || choice == "2" || choice == "3"); } logger.Info("Program ended"); }
static void Main(string[] args) { logger.Info("Program started"); string movieFilePath = "movies.scrubbed.csv"; MovieFile movieFile = new MovieFile(movieFilePath); string choice = ""; do { // display choices to user Console.WriteLine("1) Add Movie"); Console.WriteLine("2) Display All Movies"); Console.WriteLine("Enter to quit"); // input selection choice = Console.ReadLine(); logger.Info("User choice: {Choice}", choice); if (choice == "1") { // Add movie Movie movie = new Movie(); // ask user to input movie title Console.WriteLine("Enter movie title"); // input title movie.title = Console.ReadLine(); // verify title is unique if (movieFile.isUniqueTitle(movie.title)) { // input genres string input; do { // ask user to enter genre Console.WriteLine("Enter genre (or done to quit)"); // input genre input = Console.ReadLine(); // if user enters "done" // or does not enter a genre do not add it to list if (input != "done" && input.Length > 0) { movie.genres.Add(input); } } while (input != "done"); // specify if no genres are entered if (movie.genres.Count == 0) { movie.genres.Add("(no genres listed)"); } Console.WriteLine("Enter movie director"); movie.director = Console.ReadLine(); Console.WriteLine("Enter running time (h:m:s)"); movie.runningTime = TimeSpan.Parse(Console.ReadLine()); // add movie movieFile.AddMovie(movie); } } else if (choice == "2") { Console.WriteLine("Test"); // Display All Movies foreach (Movie m in movieFile.Movies) { Console.WriteLine(m.Display()); } } } while (choice == "1" || choice == "2"); logger.Info("Program ended"); }
public static void Main(string[] args) { string file = "../../movies.scrubbed.csv"; string bkfile = "books.csv"; string cdfile = "cd.csv"; logger.Info("Program started"); MovieFile movieFile = new MovieFile(file); BookFile bookFile = new BookFile(bkfile); AlbumFile albumFile = new AlbumFile(cdfile); string choice = ""; string mchoice = ""; string bchoice = ""; string achoice = ""; do { Console.WriteLine("1) Movie"); Console.WriteLine("2) Book"); Console.WriteLine("3) Album"); Console.WriteLine("Enter to quit"); choice = Console.ReadLine(); logger.Info("User choice: {Choice}", choice); if (choice == "1") { do { Console.WriteLine("1) Add Movie"); Console.WriteLine("2) Display All Movies"); Console.WriteLine("3) Enter to quit"); mchoice = Console.ReadLine(); logger.Info("User choice: {Choice}", mchoice); if (mchoice == "1") { Movie movie = new Movie(); Console.WriteLine("Enter movie title"); movie.title = Console.ReadLine(); if (movieFile.isUniqueTitle(movie.title)) { string input; do { Console.WriteLine("Enter Genre (or done to quit)"); input = Console.ReadLine(); if (input != "done" && input.Length > 0) { movie.genres.Add(input); } } while (input != "done"); if (movie.genres.Count == 0) { movie.genres.Add("(no genres listed)"); } Console.WriteLine("Enter movie Director"); movie.director = Console.ReadLine(); Console.WriteLine("Enter running time"); movie.runningTime = TimeSpan.Parse(Console.ReadLine()); movieFile.AddMovie(movie); } else { Console.WriteLine("Movie title already exists\n"); } } else if (mchoice == "2") { foreach (Movie m in movieFile.Movies) { Console.WriteLine(m.Display()); } } } while (mchoice == "1" || mchoice == "2"); } else if (choice == "2") { Console.WriteLine("1) Add Book"); Console.WriteLine("2) Display All Books"); Console.WriteLine("3) Enter to quit"); bchoice = Console.ReadLine(); logger.Info("User choice: {Choice}", bchoice); do { if (mchoice == "1") { Book book = new Book(); Console.WriteLine("Enter book title"); book.title = Console.ReadLine(); if (bookFile.isUniqueTitle(book.title)) { string input; do { Console.WriteLine("Enter Genre (or done to quit"); input = Console.ReadLine(); if (input != "done" && input.Length > 0) { book.genres.Add(input); } } while (input != "done"); if (book.genres.Count == 0) { book.genres.Add("(no genres listed)"); } Console.WriteLine("Enter book author"); book.author = Console.ReadLine(); Console.WriteLine("Enter book publisher"); book.publisher = Console.ReadLine(); Console.WriteLine("Enter the amount of pages"); book.pageCount = UInt16.Parse(Console.ReadLine()); bookFile.AddBook(book); } else { Console.WriteLine("Book title already exists\n"); } } else if (bchoice == "2") { foreach (Book b in bookFile.Books) { Console.WriteLine(b.Display()); } } } while (bchoice == "1" || bchoice == "2"); } else if (choice == "3") { Console.WriteLine("1) Add Album"); Console.WriteLine("2) Display All Albums"); Console.WriteLine("3) Enter to quit"); bchoice = Console.ReadLine(); logger.Info("User choice: {Choice}", bchoice); do { if (achoice == "1") { Album album = new Album(); Console.WriteLine("Enter Album title"); album.title = Console.ReadLine(); if (albumFile.isUniqueTitle(album.title)) { string input; do { Console.WriteLine("Enter Genre (or done to quit"); input = Console.ReadLine(); if (input != "done" && input.Length > 0) { album.genres.Add(input); } } while (input != "done"); if (album.genres.Count == 0) { album.genres.Add("(no genres listed)"); } Console.WriteLine("Enter album artist"); album.artist = Console.ReadLine(); Console.WriteLine("Enter record label"); album.recordLabel = Console.ReadLine(); albumFile.AddAlbum(album); } else { Console.WriteLine("Album title already exists\n"); } } else if (achoice == "2") { foreach (Album a in albumFile.Albums) { Console.WriteLine(a.Display()); } } } while (achoice == "1" || achoice == "2"); } } while ((choice == "1" || choice == "2" || choice == "3")); logger.Info("Program Ended"); }
public static void Main(string[] args) { logger.Info("Program started"); string scrubbedFile = FileScrubber.ScrubMovies("../../../movies.csv"); string albumFileName = "../../albums.csv"; string bookFileName = "../../books.csv"; MovieFile movieFile = new MovieFile(scrubbedFile); AlbumFile albumFile = new AlbumFile(albumFileName); BookFile bookFile = new BookFile(bookFileName); string choice = ""; do { // display choices to user Console.WriteLine("1) Add Movie"); Console.WriteLine("2) Display All Movies"); Console.WriteLine("3) Add Album"); Console.WriteLine("4) Display All Albums"); Console.WriteLine("5) Add Book"); Console.WriteLine("6) Display All Books"); Console.WriteLine("7) Search for a Movie/Album/Book"); Console.WriteLine("Enter to quit"); // input selection choice = Console.ReadLine(); logger.Info("User choice: {Choice}", choice); if (choice == "1") { // Add movie Movie movie = new Movie(); // ask user to input movie title Console.WriteLine("Enter movie title"); // input title movie.title = Console.ReadLine(); // verify title is unique if (movieFile.isUniqueTitle(movie.title)) { // input genres string input; do { // ask user to enter genre Console.WriteLine("Enter genre (or done to quit)"); // input genre input = Console.ReadLine(); // if user enters "done" // or does not enter a genre do not add it to list if (input != "done" && input.Length > 0) { movie.genres.Add(input); } } while (input != "done"); // specify if no genres are entered if (movie.genres.Count == 0) { movie.genres.Add("(no genres listed)"); } // ask user to enter director Console.WriteLine("Enter movie director"); input = Console.ReadLine(); movie.Director = input.Length == 0 ? "unassigned" : input; // ask user to enter running time Console.WriteLine("Enter running time (h:m:s)"); input = Console.ReadLine(); movie.RunningTime = input.Length == 0 ? new TimeSpan(0) : TimeSpan.Parse(input); // add movie movieFile.AddMovie(movie); } else { Console.WriteLine("Movie title already exists\n"); } } else if (choice == "2") { // Display All Movies foreach (Movie m in movieFile.Movies) { Console.WriteLine(m.Display()); } } else if (choice == "3") { // Add Album Album album = new Album(); // ask user to input album title Console.WriteLine("Enter album title"); // input title album.title = Console.ReadLine(); // verify title is unique if (albumFile.isUniqueTitle(album.title)) { // input genres string input; do { // ask user to enter genre Console.WriteLine("Enter genre (or done to quit)"); // input genre input = Console.ReadLine(); // if user enters "done" // or does not enter a genre do not add it to list if (input != "done" && input.Length > 0) { album.genres.Add(input); } } while (input != "done"); // specify if no genres are entered if (album.genres.Count == 0) { album.genres.Add("(no genres listed)"); } // ask user to enter director Console.WriteLine("Enter album artist"); input = Console.ReadLine(); album.artist = input.Length == 0 ? "unassigned" : input; // ask user to enter record label Console.WriteLine("Enter record label"); input = Console.ReadLine(); album.recordLabel = input.Length == 0 ? "unassigned" : input; // add album albumFile.AddAlbum(album); } else { Console.WriteLine("Album title already exists\n"); } } else if (choice == "4") { // Display All Albums foreach (Album a in albumFile.Albums) { Console.WriteLine(a.Display()); } } else if (choice == "5") { // Add Book Book book = new Book(); // ask user to input book title Console.WriteLine("Enter book title"); // input title book.title = Console.ReadLine(); // verify title is unique if (bookFile.isUniqueTitle(book.title)) { // input genres string input; do { // ask user to enter genre Console.WriteLine("Enter genre (or done to quit)"); // input genre input = Console.ReadLine(); // if user enters "done" // or does not enter a genre do not add it to list if (input != "done" && input.Length > 0) { book.genres.Add(input); } } while (input != "done"); // specify if no genres are entered if (book.genres.Count == 0) { book.genres.Add("(no genres listed)"); } // ask user to enter author Console.WriteLine("Enter book author"); input = Console.ReadLine(); book.author = input.Length == 0 ? "unassigned" : input; // ask user to enter publisher Console.WriteLine("Enter publisher"); input = Console.ReadLine(); book.publisher = input.Length == 0 ? "unassigned" : input; // ask user to enter number of pages Console.WriteLine("Enter number of pages"); input = Console.ReadLine(); book.pageCount = input.Length == 0 ? (UInt16)0 : UInt16.Parse(input); // add book bookFile.AddBook(book); } else { Console.WriteLine("Book title already exists\n"); } } else if (choice == "6") { // Display All Books foreach (Book b in bookFile.Books) { Console.WriteLine(b.Display()); } } else if (choice == "7") { string userInput = ""; Console.WriteLine("Would you like to search for a Movie, Album or Book?? (1 for Movie, 2 for Album, 3 for Book)"); userInput = Console.ReadLine(); if (userInput == "1") { String userMovieInput; Console.WriteLine("Enter part of or a whole movie title you would like to search for."); userMovieInput = Console.ReadLine(); // LINQ - Where filter operator & Contains quantifier operator //var Movies = movieFile.Movies.Where(m => m.title.Contains("(1990)")); // LINQ - Count aggregation method //Console.WriteLine($"There are {Movies.Count()} movies from 1990"); var userMovies = movieFile.Movies.Where(m => m.title.Contains(userMovieInput, StringComparison.OrdinalIgnoreCase)).Select(m => m.title); foreach (string t in userMovies) { Console.WriteLine(t); } } else if (userInput == "2") { Console.WriteLine("How would you like to search for your Album?"); String userAlbumInput = Console.ReadLine(); var userAlbum = albumFile.Albums.Where(m => m.title.Contains(userAlbumInput, StringComparison.OrdinalIgnoreCase)).Select(m => m.title); foreach (string t in userAlbum) { Console.WriteLine(t); } } else if (userInput == "3") { Console.WriteLine("How would you like to search for your Book?"); String userBookInput = Console.ReadLine(); var userBook = bookFile.Books.Where(m => m.title.Contains(userBookInput, StringComparison.OrdinalIgnoreCase)).Select(m => m.title); foreach (string t in userBook) { Console.WriteLine(t); } } else { Console.WriteLine("You entered something in wrong."); } } } while (choice == "1" || choice == "2" || choice == "3" || choice == "4" || choice == "5" || choice == "6"); logger.Info("Program ended"); }
static void Main(string[] args) { logger.Info("Program started"); string scrubbedFile = FileScrubber.ScrubMovies("movies.csv"); logger.Info(scrubbedFile); MovieFile movieFile = new MovieFile(scrubbedFile); string choice = ""; do { //Choices Console.WriteLine("1) Add Movie"); Console.WriteLine("2) Display Movies"); Console.WriteLine("3) Find Movie"); Console.WriteLine("Enter to quit"); //input choice = Console.ReadLine(); logger.Info($"User choice: {choice}"); if (choice == "1") { Movie movie = new Movie(); //request and input title Console.WriteLine("Enter movie title: "); movie.title = Console.ReadLine(); //verify title if (movieFile.isUniqueTitle(movie.title)) { //input genres string input; do { //request and input genre Console.WriteLine("Enter genre (or 'done' to quit)"); input = Console.ReadLine(); if (input != "done" && input.Length > 0) { movie.genres.Add(input); } } while(input != "done"); if (movie.genres.Count == 0) { movie.genres.Add("(no genres listed)"); } //request and input director Console.WriteLine("Enter director: "); movie.director = Console.ReadLine(); //request and input running time Console.WriteLine("Enter running time (hh:mm:ss)"); movie.runningTime = TimeSpan.Parse(Console.ReadLine()); //add movie movieFile.AddMovie(movie); } } else if (choice == "2") { foreach (Movie m in movieFile.Movies) { Console.WriteLine(m.Display()); } } else if (choice == "3") { //request search of movie title Console.WriteLine("Enter name of movie to search"); string title = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Green; var SearchMovies = movieFile.Movies.Where(m => m.title.Contains(title)); Console.WriteLine($"{SearchMovies.Count()} movies found with \"{title}\" in them"); foreach (Movie m in SearchMovies) { Console.WriteLine($" - {m.title}"); } Console.ForegroundColor = ConsoleColor.White; } } while(choice == "1" || choice == "2" || choice == "3"); logger.Info("Program ended"); }