Esempio n. 1
0
        public void undo()
        {
            og.GetStateFromMemento(caretaker.GetMemento());
            currentUser._cities = og.getState()._cities;
            var mementoList = currentUser._cities;
            var lists       = uservice.getcities(currentUser);

            foreach (string city in currentUser._cities)
            {
                uservice.addCity(city, currentUser);
            }

            foreach (string city in lists)
            {
                if (!currentUser._cities.Contains(city))
                {
                    uservice.deletecity(city, currentUser);
                }
            }
            cities_window1.updateList(currentUser._cities);

            if (caretaker.Size() > 0)
            {
                button2.Show();
            }
            else
            {
                button2.Hide();
            }
        }
Esempio n. 2
0
    public void Main()
    {
        Originator originator = new Originator();
        CareTaker  careTaker  = new CareTaker();


        originator.SetState("State #1");
        originator.SetState("State #2");
        careTaker.Add(originator.SaveStateToMemento());
        originator.SetState("State #3");
        careTaker.Add(originator.SaveStateToMemento());
        originator.SetState("State #4");

        Console.WriteLine("Current State: " + originator.GetState());
        originator.GetStateFromMemento(careTaker.Get(0));
        Console.WriteLine("First saved State: " + originator.GetState());
        originator.GetStateFromMemento(careTaker.Get(1));
        Console.WriteLine("Second saved State: " + originator.GetState());
    }
Esempio n. 3
0
        public void Start()
        {
            var originator = new Originator();
            var careTaker  = new CareTaker();

            originator.SetState("State #1");
            originator.SetState("State #2");
            careTaker.Add(originator.SaveStateToMemento());

            originator.SetState("State #3");
            careTaker.Add(originator.SaveStateToMemento());

            originator.SetState("State #4");
            logger.Info($"Current State: {originator.State}.");

            originator.GetStateFromMemento(careTaker.Get(0));
            logger.Info($"First Saved State: {originator.State}.");
            originator.GetStateFromMemento(careTaker.Get(1));
            logger.Info($"Second Saved State: {originator.State}.");
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            Originator originator = new Originator();
            CareTaker  careTaker  = new CareTaker();

            originator.State = "State #1";
            originator.State = "State #2";
            careTaker.Add(originator.saveStateToMemento());


            originator.State = "State #3";
            careTaker.Add(originator.saveStateToMemento());
            originator.State = "State #4";

            Console.WriteLine("Current State: " + originator.State);
            originator.GetStateFromMemento(careTaker.Get(0));
            Console.WriteLine("First saved State: " + originator.State);
            originator.GetStateFromMemento(careTaker.Get(1));
            Console.WriteLine("Second saved State: " + originator.State);
            Console.ReadKey();
        }
Esempio n. 5
0
        /*
         * Sem violar encapsulamento, captura e externaliza um
         * estado de objeto interno e entao este objeto pode ser restaurado
         * para um estado anterior
         *
         *  Quando usar:
         *   - um Snapshot de um objeto deve ser salvo para ser restaurado depois
         *   - uma interface direta para obter um estado iria expor detalhes
         *      da implementação e quebrar o encapsulamento
         */
        static void Main(string[] args)
        {
            Originator originator = new Originator();
            CareTaker  caretaker  = new CareTaker();

            originator.State = "#1";
            originator.State = "#2";
            caretaker.AddMement(originator.SaveState());

            originator.State = "#3";
            caretaker.AddMement(originator.SaveState());

            originator.State = "#4";
            Console.WriteLine("Actual State: " + originator.State);

            originator.GetStateFromMemento(caretaker.Get(1));
            Console.WriteLine("Actual State: " + originator.State);

            originator.GetStateFromMemento(caretaker.Get(0));
            Console.WriteLine("Actual State: " + originator.State);

            Console.ReadKey();
        }
Esempio n. 6
0
 public void ReturnItem()
 {
     originator.GetStateFromMemento(careTaker.Get());
     item = originator.GetState();
 }