Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            // Initialize options
            OptionVehicule siegesCuir = new OptionVehicule()
            {
                Nom = "Sièges en cuir"
            };
            OptionVehicule siegesSportifs = new OptionVehicule()
            {
                Nom = "Sièges sportif"
            };

            siegesCuir.OptionsIncompatibles.Add(siegesSportifs);
            siegesSportifs.OptionsIncompatibles.Add(siegesCuir);

            // Pick one
            ChariotOptions myChariot  = new ChariotOptions();
            List <Memento> historique = new List <Memento>();

            historique.Add(myChariot.AjouteOption(siegesCuir));
            myChariot.AfficheEtat();

            // Pick the other
            historique.Add(myChariot.AjouteOption(siegesSportifs));
            myChariot.AfficheEtat();

            // Return to previous state
            myChariot.Annuler(historique.Last());
            myChariot.AfficheEtat();

            Console.ReadLine();
        }
Ejemplo n.º 2
0
        public Memento AjouteOption(OptionVehicule option)
        {
            Memento memento = new Memento();

            foreach (var o in options)
            {
                memento.Etat.Add(o);
            }
            foreach (var o in option.OptionsIncompatibles)
            {
                options.Remove(o);
            }
            options.Add(option);
            return(memento);
        }