示例#1
0
        public void ItemListToText(List <Item> items)
        {
            StreamWriter writer = new StreamWriter("../../../ItemsInventory.txt");

            // looks at the libraryList declared aaaaaallllll the way at the top, and iterates through them.
            // properties like CheckedIn or DueDate will be modified in the CheckIn/CheckOut method, and this method will write those changes ontop of the old .txt file
            // In other words: Run this method only AFTER the user has made changes

            for (int i = 0; i < libraryList.Count; i++)
            {
                //book
                if (items[i] is Book)
                {
                    //unboxing magic
                    Item item = items[i];
                    Book book = (Book)item;

                    writer.WriteLine($"{book.MediaType}|{book.Title}|{book.Author}|{book.Description}|{book.CheckedIn}|{book.DueDate}|{book.NumberOfPages}");
                }
                //CD
                else if (items[i] is CD)
                {
                    Item item = items[i];
                    CD   cd   = (CD)item;
                    writer.WriteLine($"{cd.MediaType}|{cd.Title}|{cd.Author}|{cd.Description}|{cd.CheckedIn}|{cd.DueDate}|{cd.Length}");
                }
                //magazine
                else if (items[i] is Magazine)
                {
                    Item     item = items[i];
                    Magazine mag  = (Magazine)item;
                    writer.WriteLine($"{mag.MediaType}|{mag.Title}|{mag.Author}|{mag.Description}|{mag.CheckedIn}|{mag.DueDate}|{mag.NumberOfPages}");
                }
                //movie
                else if (items[i] is Movie)
                {
                    Item  item  = items[i];
                    Movie movie = (Movie)item;
                    writer.WriteLine($"{movie.MediaType}|{movie.Title}|{movie.Author}|{movie.Description}|{movie.CheckedIn}|{movie.DueDate}|{movie.Duration}");
                }

                //ADD OTHER IF ELSE FOR MOVIES,CDs, ETC.
            }
            writer.Close();
        }
示例#2
0
        private void ListItems() //will need a 'List<Item> libraryList' parameter
        {
            int i = 1;

            Console.Clear();
            foreach (Item item in libraryList)
            {
                //go back and format this or, inside of the Item (or children) class, setup a DisplayItem(); method

                if (item is Book && !item.CheckedIn)
                {
                    Book b = (Book)item;
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine($"{i} - TITLE: {item.Title}");

                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine($"    AUTHOR: {item.Author}\n    NUMBER OF PAGES: {b.NumberOfPages}\n    DESCRIPTION: {item.Description}");
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine($"     DUE DATE: {item.DueDate}");
                    Console.ResetColor();
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine("=============================================================================================================");
                }

                else if (item is Book && item.CheckedIn)
                {
                    Book b = (Book)item;
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine($"{i} - TITLE: {item.Title}");

                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine($"    AUTHOR: {item.Author}\n    NUMBER OF PAGES: {b.NumberOfPages}");
                    Console.WriteLine($"    Description: {item.Description}");
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine($"    Available for CheckOut");
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine("=============================================================================================================");
                }

                if (item is Magazine && !item.CheckedIn)
                {
                    Magazine b = (Magazine)item;
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine($"{i} - TITLE: {item.Title}");

                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine($"    AUTHOR: {item.Author}\n    NUMBER OF PAGES: {b.NumberOfPages}\n    DESCRIPTION: {item.Description}");
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine($"      DUE DATE: {item.DueDate}");
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine("=============================================================================================================");
                }

                else if (item is Magazine && item.CheckedIn)
                {
                    Magazine b = (Magazine)item;
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine($"{i} - TITLE: {item.Title}");
                    Console.ForegroundColor = ConsoleColor.White;

                    Console.WriteLine($"    AUTHOR: {item.Author}\n    NUMBER OF PAGES: {b.NumberOfPages}");
                    Console.WriteLine($"    Description: {item.Description}");
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine($"    Available for CheckOut");
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine("=============================================================================================================");
                }


                if (item is CD && !item.CheckedIn)
                {
                    CD b = (CD)item;
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine($"{i} - TITLE: {item.Title}");

                    Console.ForegroundColor = ConsoleColor.White;

                    Console.WriteLine($"    AUTHOR: {item.Author}\n    CD Length: {b.Length}\n    DESCRIPTION: {item.Description}");
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine($"      DUE DATE: {item.DueDate}");
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine("=============================================================================================================");
                }

                else if (item is CD && item.CheckedIn)
                {
                    CD b = (CD)item;
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine($"{i} - TITLE: {item.Title}");

                    Console.ForegroundColor = ConsoleColor.White;

                    Console.WriteLine($"    AUTHOR: {item.Author}\n    CD Length: {b.Length}");
                    Console.WriteLine($"    Description: {item.Description}");
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine($"    Available for CheckOut");
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine("=============================================================================================================");
                }

                if (item is Movie && !item.CheckedIn)
                {
                    Movie b = (Movie)item;
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine($"{i} - TITLE: {item.Title}");

                    Console.ForegroundColor = ConsoleColor.White;

                    Console.WriteLine($"    AUTHOR: {item.Author}\n    Movie Length: {b.Duration}\n    DESCRIPTION: {item.Description}");
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine($"      DUE DATE: {item.DueDate}");
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine("=============================================================================================================");
                }

                else if (item is Movie && item.CheckedIn)
                {
                    Movie b = (Movie)item;
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine($"{i} - TITLE: {item.Title}");

                    Console.ForegroundColor = ConsoleColor.White;

                    Console.WriteLine($"    AUTHOR: {item.Author}\n    Movie Length: {b.Duration}");
                    Console.WriteLine($"    Description: {item.Description}");
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine($"    Available for CheckOut");
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine("=============================================================================================================");
                }
                i++;
            }
            UserContinue();
        }