//Lists all movies and their information currently borrowed in the _current Member's name //Input: None //Output: Movie data for all movies in _current Member's personal MovieCollection static void ListBorrowed() { int size = MemberCollection.GetMovies(_current).Size(); int.TryParse(Math.Ceiling(size / 2.0).ToString(), out int pages); int currentPage = 1; DisplayMyMovies: Console.Clear(); Console.WriteLine("Logged in as {0} {1}", _current.FirstName, _current.Surname); Console.WriteLine("========List current borrowed movie DVDs========"); MovieCollection currentMovies = MemberCollection.GetMovies(_current).Subcollection((currentPage - 1) * 2, (currentPage) * 2); currentMovies.Display(); Console.Write("\n Page: 0 (Return)"); for (int i = 1; i <= pages; i++) { if (i == currentPage) { Console.Write(" [{0}]", i.ToString()); } else { Console.Write(" {0} ", i.ToString()); } } Console.WriteLine("\n================================================"); ConsoleKeyInfo c = Console.ReadKey(true); if (c.Key == ConsoleKey.Escape) { return; } if (c.KeyChar.ToString() == "0") { return; } int.TryParse(c.KeyChar.ToString(), out int v); if (v > 0 && v <= pages) { currentPage = v <0 ? 0 : v> pages ? pages : v; } goto DisplayMyMovies; }
//Return a movie to the library //Input: title of a movie currently borrowed by the _current Member //Output: Movie removed from _current Member's personal MovieCollection and Movie's copies++ static void Return() { Console.Clear(); Console.WriteLine("Logged in as {0} {1}", _current.FirstName, _current.Surname); Console.WriteLine("===============Return a movie DVD==============="); Console.WriteLine(" Which movie would you like to return?\n"); Console.WriteLine(" Or press 'Escape' to exit"); Console.WriteLine("================================================"); Console.Write(" Title: "); ConsoleKeyInfo key = Console.ReadKey(); string title = ""; if (key.Key == ConsoleKey.Escape) { return; } else { title += key.KeyChar.ToString(); } title += Console.ReadLine(); Movie movie = MemberCollection.GetMovies(_current).Find(title); if (movie == null) { Console.WriteLine("\n You are not currently borrowing {0}", title); Console.ReadKey(true); Return(); return; } _current.Return(MemberCollection.GetMovies(_current).Find(title)); _library.Find(title).Return(); Console.WriteLine("\n Successfully returned {0}", title); Console.ReadKey(true); Return(); }