예제 #1
0
        //Creates list of staff as given in the task outline
        //Input: None
        //Output: MemberCollection staff (user: staff, pass: today123)
        static MemberCollection StaffList()
        {
            MemberCollection staffList = new MemberCollection();

            staffList.Add(new Member("staff", "", "", "", "today123", new MovieCollection()));
            return(staffList);
        }
예제 #2
0
 public static Member _current;           //Stores user that is currently logged in, staff or member
 //Main process
 //Input: string[] args
 //Output: None
 static void Main(string[] args)
 {
     _library = DummyMovies();
     _members = DummyMembers();
     _staff   = StaffList();
     MainMenu();
 }
예제 #3
0
        //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;
        }
예제 #4
0
        //Collection of dummy Member() data for tesing purposes
        static MemberCollection DummyMembers()
        {
            MemberCollection dummyMembers = new MemberCollection();

            dummyMembers.Add(new Member(
                                 "John",
                                 "Doe",
                                 "2 Kensington Terrace, 4066",
                                 "0450732987",
                                 "pass1",
                                 new MovieCollection()
                                 ));

            dummyMembers.Add(new Member(
                                 "John",
                                 "Smith",
                                 "2 Kensington Street, 4067",
                                 "0418781464",
                                 "pass2",
                                 new MovieCollection()
                                 ));
            dummyMembers.Add(new Member(
                                 "Jane",
                                 "Doe",
                                 "2 Kensington Place, 4068",
                                 "0437723235",
                                 "pass3",
                                 new MovieCollection()
                                 ));
            dummyMembers.Add(new Member(
                                 "Jane",
                                 "Smith",
                                 "2 Kensington Grove, 4069",
                                 "0456789101",
                                 "pass4",
                                 new MovieCollection()
                                 ));
            return(dummyMembers);
        }
예제 #5
0
        //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();
        }