/// <summary> /// The show wish list menu. /// </summary> public void ShowWishlistMenu() { var readLine = string.Empty; while (readLine.ToLower() != "e" && readLine.ToLower() != "s") { Console.Clear(); foreach (var wish in _wishlist.ListOfWishes) { Console.WriteLine(wish.ToString()); } WishlistMenuOptions(); readLine = Console.ReadLine(); switch (readLine.ToLower()) { case "a": _checkpointCaretaker.WishlistMemento = _wishlist.StoreMemento(); _wishlist.AddWish(); break; case "r": _checkpointCaretaker.WishlistMemento = _wishlist.StoreMemento(); Console.WriteLine("Enter name of wish to delete: "); _wishlist.RemoveWish(Console.ReadLine()); break; case "c": _wishlist.RestoreToDefault(_defaultCaretaker.WishlistMemento); break; case "u": _wishlist.RestoreToCheckpoint(_checkpointCaretaker.WishlistMemento); break; case "e": _wishlist.RestoreToDefault(_defaultCaretaker.WishlistMemento); break; case "s": Console.WriteLine("Saving and exiting."); Thread.Sleep(2000); break; default: Console.WriteLine("That's not an option dumbass."); Thread.Sleep(1000); break; } } }
/// <summary> /// Initializes a new instance of the <see cref="WishlistMenu"/> class. /// </summary> /// <param name="chosenWishlist"> /// The chosen wish list. /// </param> public WishlistMenu(IWishlist chosenWishlist) { _wishlist = chosenWishlist; _checkpointCaretaker = new WishlistCaretaker(); this._defaultCaretaker = new WishlistCaretaker(); _defaultCaretaker.WishlistMemento = chosenWishlist.StoreMemento(); }