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(); } }
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()); }
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}."); }
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(); }
/* * 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(); }
public void ReturnItem() { originator.GetStateFromMemento(careTaker.Get()); item = originator.GetState(); }