Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            List <Event> offers        = CreateOffers();
            Event        proposedEvent = new Event();

            Console.WriteLine("Please choose your event type in order to display our offers:");
            Console.WriteLine("1.Wedding 2.Banquet 3.Party");
            string opt = Console.ReadLine();

            switch (opt)
            {
            case "1":
            {
                proposedEvent = ShowOffer(offers, EEventType.Wedding);
                break;
            }

            case "2":
            {
                proposedEvent = ShowOffer(offers, EEventType.Banquet);
                break;
            }

            case "3":
            {
                proposedEvent = ShowOffer(offers, EEventType.Party);
                break;
            }
            }
            //se salveaza evenimentul in starea respectiva
            Caretaker caretaker = new Caretaker();

            caretaker.eveniment = proposedEvent.Create();

            Console.WriteLine("Would you like to create your own design for the event or you like the current one? (Yes/No)");
            string offer = Console.ReadLine();

            switch (offer)
            {
            case "Yes":
            {
                Console.WriteLine("Your custom offer:");
                proposedEvent = DecoratedVersion();
                Console.WriteLine("Do you agree with this offer or you like the previous one? (Yes/No)");
                string choice = Console.ReadLine();
                if (choice == "No")
                {
                    proposedEvent.Restore(caretaker.eveniment);
                    Console.WriteLine(proposedEvent);
                }
                break;
            }

            case "No":
            {
                Console.WriteLine("Thank you for your time");
                break;
            }
            }
            ReportData(proposedEvent);
        }