/// <summary>
        /// Initializes a new instance of the <see cref="MVC_Controller"/> class.
        /// </summary>
        public MVC_Controller(long maxSize, bool isByte, bool isNS, bool isClean, string path)
        {
            this.caretaker = new Caretaker();
            this.cor = new COR();
            this.maxSize = maxSize;
            this.isNS = isNS;
            this.isByte = isByte;
            this.path = path;
            if (isClean)
            {
                cleanStorage();
            }
            else
            {
                try
                {
                    LoadStorage();
                }
                catch
                {
                    Console.WriteLine("Storage file doesn't exist!");
                    Console.WriteLine("Creating a new one...");
                    this.storage = new Storage(maxSize, isByte, isNS, path);
                    SaveStorage();
                }
            }

        }
    // Entry point into console application.
    static void Main()
    {
        Originator o = new Originator("On");
        // o.State = "On";

        // Store Originator's internal state within Memento inside Caretaker
        Caretaker c = new Caretaker(o.CreateMemento());
        // c.Memento = o.CreateMemento();

        // Change Originator's state
        o.State = "Off";

        // Restore Originator's previously saved state
        o.SetMemento(c.Memento);

        // Change Originator's state again
        o.State = "Off";

        // Store Originator's internal state within Memento inside Caretaker
        c = new Caretaker(o.CreateMemento());

        // Change Originator's state
        o.State = "On";

        // Restore Originator's previously saved state
        o.SetMemento(c.Memento);

        // Wait for user
        Console.ReadKey();
    }
	// 
	void UnitTest2 () {
		
		Originator theOriginator = new Originator();
		Caretaker theCaretaker = new Caretaker();
		
		// 設定資訊
		theOriginator.SetInfo( "Version1" );
		theOriginator.ShowInfo();
		// 保存
		theCaretaker.AddMemento("1",theOriginator.CreateMemento());

		// 設定資訊
		theOriginator.SetInfo( "Version2" );
		theOriginator.ShowInfo();
		// 保存
		theCaretaker.AddMemento("2",theOriginator.CreateMemento());

		// 設定資訊
		theOriginator.SetInfo( "Version3" );
		theOriginator.ShowInfo();
		// 保存
		theCaretaker.AddMemento("3",theOriginator.CreateMemento());
		                        		
		// 退回到第2版,
		theOriginator.SetMemento( theCaretaker.GetMemento("2"));
		theOriginator.ShowInfo();

		// 退回到第1版,
		theOriginator.SetMemento( theCaretaker.GetMemento("1"));
		theOriginator.ShowInfo();


		
	}
Exemple #4
0
 public void run()
 {
     var caretaker = new Caretaker();
     caretaker.F5();
     caretaker.ShootThatDumbAss();
     caretaker.F5();
     caretaker.ShootThatDumbAss();
     caretaker.ShootThatDumbAss();
     caretaker.ShootThatDumbAss();
     caretaker.ShootThatDumbAss();
     caretaker.F9();
     caretaker.ShootThatDumbAss();
 }
Exemple #5
0
        public static void Test()
        {
            var s = new Originator
            {
                State = "state 1"
            };

            var m = new Caretaker();
            m.Memento = s.SaveMemento();

            s.State = "state 2";

            s.RestoreMemento(m.Memento);
        }
        static void Main()
        {
            Originator originator = new Originator();
            originator.State = "On";

            // Store internal state
            Caretaker c = new Caretaker();
            c.Memento = originator.CreateMemento();

            // Continue changing originator
            originator.State = "Off";

            // Restore saved state
            originator.SetMemento(c.Memento);
        }
  public static void Main( string[] args )
  {
    Originator o = new Originator();
    o.State = "On";

    // Store internal state
    Caretaker c = new Caretaker();
    c.Memento = o.CreateMemento();

    // Continue changing originator
    o.State = "Off";

    // Restore saved state
    o.SetMemento( c.Memento );

    Console.Read();
  }
        /// <summary>
        /// Initializes a new instance of the AddPOIViewModel class.
        /// </summary>
        public AddEditPOIViewModel(INavigationService navigationservice)
        {
            Messenger.Default.Register<Tuple<int, int, Mode>>(this,
             tuple =>
             {
             this.Mode = tuple.Item3;

             if (this.Mode == Mode.add)
             {
             PointOfInterest = new Model.Tables.PointOfInterest();
             DataServiceTrip dsTrip = new DataServiceTrip();
             PointOfInterest.Trip = dsTrip.getTripById(tuple.Item1);
             }
             else
             {
             PointOfInterest = GetPOIInDB(tuple.Item2);
             }

             EditableObject = new Caretaker<PointOfInterest>(this.PointOfInterest);
             EditableObject.BeginEdit();

             InitialiseValidator();
             });

            Messenger.Default.Register<PointOfInterest>(this,
             poi =>
             {
             PointOfInterest = poi;

             });

            Messenger.Default.Register<Tuple<PointOfInterest,Mode>>(this,
            tuple =>
            {
            this.Mode = tuple.Item2;
            PointOfInterest = tuple.Item1;

            EditableObject = new Caretaker<PointOfInterest>(this.PointOfInterest);
            EditableObject.BeginEdit();

            InitialiseValidator();
            });

            this._navigationService = navigationservice;
        }
        /// <summary>
        /// Entry point into console application.
        /// </summary>
        static void Demo()
        {
            Originator o = new Originator();
            o.State = "On";

            // Store internal state
            Caretaker c = new Caretaker();
            c.Memento = o.CreateMemento();

            // Continue changing originator
            o.State = "Off";

            // Restore saved state
            o.SetMemento(c.Memento);

            // Wait for user
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            //--->
            Model.Model model  = new Model.Model();
            Pogled      pogled = new Pogled();

            Controller.Controller controler = new Controller.Controller(model, pogled);
            //<---
            List <Program>           listaEmitiranja = new List <Program>();
            TvProgrami               tv = new TvProgrami();
            List <EmitiranjeEmisija> listeEmisijaUProgramu = new List <EmitiranjeEmisija>();

            controler.getProvjeraParametara(args);
            Dictionary <string, string> parametri  = ProvjeraUlaznihParametara.VratiKljucVrijednost(args);
            UcitavanjeDatotekaPrograma  ucitavanje = new UcitavanjeDatotekaPrograma();

            ucitavanje.listaProgramaKuce(parametri);
            ucitavanje.listaVrstaEmisija(parametri);
            ucitavanje.listaSvihEmisija(parametri);
            ucitavanje.listaSvihOsoba(parametri);
            ucitavanje.listaSvihUloga(parametri);
            var lista = TvKucaSingleton.GetInstance().ListaPrograma;

            foreach (var program in lista)
            {
                int index = TvKucaSingleton.GetInstance().ListaPrograma.IndexOf(program);
                TvKucaSingleton.GetInstance().indexPrograma = index;
                listaEmitiranja       = program.ucitajProgram(program.NazivDatoteke);
                listeEmisijaUProgramu = program.kreirajEmitiranja(listaEmitiranja, ucitavanje.listaEmisijaUkupno);
                Raspored r = new Raspored(listaEmitiranja, listeEmisijaUProgramu, program);
            }
            Originator      o      = new Originator(TvKucaSingleton.GetInstance().rasporedPrograma);
            Caretaker       c      = new Caretaker(o);
            TvKucaSingleton tvKuca = TvKucaSingleton.GetInstance();
            bool            prikaz = true;

            while (prikaz)
            {
                prikaz = controler.unesiOdabirIzbornika();
            }
        }
Exemple #11
0
        static void Main(string[] args)
        {
            //Ninject
            var kernel = new StandardKernel();

            kernel.Load(Assembly.GetExecutingAssembly());
            var client1 = kernel.Get <IClient>();
            var client2 = kernel.Get <IClient>();

            //Card Factory
            GoldCardFactory goldCard = new GoldCardFactory();

            client1.FName = "Jimmy";
            client1.LName = "Johnes";
            client1.Pin   = "7y834874";
            client1.Card  = goldCard.CreateProduct();

            SilverCardFactory silverCard = new SilverCardFactory();

            client2.FName = "Elma";
            client2.LName = "Stephens";
            client2.Pin   = "87d649d7";
            client2.Card  = silverCard.CreateProduct();

            client1.ShowClientInfo();
            client2.ShowClientInfo();

            //Memento Client Info
            Caretaker history = new Caretaker();

            history.Memento = client1.CreateUndo();
            BronzeCardFactory bronzeCard = new BronzeCardFactory();

            client1.Card = bronzeCard.CreateProduct();

            client1.ShowClientInfo();

            client1.Card = goldCard.CreateProduct();

            client1.ShowClientInfo();
        }
Exemple #12
0
    public static void UnitTest()
    {
        Originator theOriginator = new Originator();
        Caretaker  theCaretaker  = new Caretaker();

        theOriginator.SetInfo("Version1");
        theOriginator.ShowInfo();
        theCaretaker.AddMemento("1", theOriginator.CreateMemento());

        theOriginator.SetInfo("Version2");
        theOriginator.ShowInfo();
        theCaretaker.AddMemento("2", theOriginator.CreateMemento());

        theOriginator.SetInfo("Version3");
        theOriginator.ShowInfo();
        theCaretaker.AddMemento("3", theOriginator.CreateMemento());

        // Fallback to version 2
        theOriginator.SetMemento(theCaretaker.GetMemento("2"));
        theOriginator.ShowInfo();
    }
Exemple #13
0
        public void ShouldTrimUndoStackIfUndoLevelLimitIsReached()
        {
            ICaretaker caretaker = new Caretaker(this.eventAggregator);

            caretaker.SetUndoLevel(1);

            var command        = new TestableUndoableCommand();
            var anotherCommand = new TestableUndoableCommand();

            caretaker.ExecuteCommand(command);

            caretaker.ExecuteCommand(anotherCommand);

            caretaker.Undo();

            Assert.IsTrue(anotherCommand.UnExecuteCommandCalled);

            caretaker.Undo();

            Assert.IsFalse(command.UnExecuteCommandCalled);
        }
Exemple #14
0
        /*A intenção do padrão Memento é, sem violar o encapsulamento, capturar e externalizar o estado interno de um objeto para que o objeto possa ser restaurado
         * para este estado mais tarde.
         *
         * Participantes:
         * Memento - armazena o estado interno do objeto Originador. O Memento pode armazenar i, pouco ou muito do estado do Originador, conforme necessário;
         * Protege contra acessos por objetos que não o Originador;
         * Originador - cria um Memento contendo um instantâneo do seu estado interno corrente, usa o Memento para restaurar o seu estado interno.
         * Caretaker - é responsavel pela cutódia do Memento; nunca opera ou examina os conteúdos de um Memento;
         *
         */

        //Cliente
        public void Memento()
        {
            // cria originator
            Pessoa gp = new Pessoa();

            gp.State = "ax";
            // mostra estado original
            Response.Write("Estado original: " + gp.State);

            Caretaker c = new Caretaker();//guarda uma referencia para o memento

            c.Memento = gp.CreateMemento();
            // trocando o estado...
            gp.State = "ax2";

            Response.Write("<br>Estado atual: " + gp.State);
            // restaurar o estado original
            gp.setMemento(c.Memento);

            Response.Write("<br>Estado restaurado: " + gp.State);
        }
Exemple #15
0
        //Зберігач - Token, Memento
        public Run Memento()
        {
            Console.WriteLine("\nMemento:");

            Originator o = new Originator();

            o.State = "On";

            // Store internal state
            Caretaker c = new Caretaker();

            c.Memento = o.CreateMemento();

            // Continue changing originator
            o.State = "Off";

            // Restore saved state
            o.SetMemento(c.Memento);

            return(this);
        }
Exemple #16
0
        static void Main(string[] args)
        {
            Originator originator = new Originator();

            originator.State = "On";

            Console.WriteLine(originator.State);

            Caretaker caretaker = new Caretaker();

            caretaker.Memento = originator.CreateMemento();

            originator.State = "Off";

            Console.WriteLine(originator.State);

            originator.SetMemento(caretaker.Memento);

            Console.WriteLine(originator.State);
            Console.Read();
        }
Exemple #17
0
        public void Start()
        {
            Originator o = new Originator();

            o.State = "Open";

            // Store internal state

            Caretaker c = new Caretaker();

            c.Memento = o.CreateMemento();

            // Continue changing originator

            o.State = "Closed";
            o.State = "Sealed";

            // Restore saved state

            o.SetMemento(c.Memento);
        }
    void Start()
    {
        //Originator originator = new Originator();
        //originator.SetState("State1");
        //originator.ShowState();

        ////创建快照
        //Memento memento = originator.CreateMemento();

        //originator.SetState("State2");
        //originator.ShowState();

        //originator.SetMemento(memento);
        //originator.ShowState();

        Caretaker caretaker = new Caretaker();

        Originator originator = new Originator();

        originator.SetState("state1");
        originator.ShowState();

        caretaker.AddMemento("v1.0", originator.CreateMemento());

        originator.SetState("state2");
        originator.ShowState();

        caretaker.AddMemento("v2.0", originator.CreateMemento());

        originator.SetState("state3");
        originator.ShowState();

        caretaker.AddMemento("v3.0", originator.CreateMemento());

        originator.SetMemento(caretaker.GetMemento("v2.0"));
        originator.ShowState();

        originator.SetMemento(caretaker.GetMemento("v3.0"));
        originator.ShowState();
    }
    public void Main()
    {
        // References to the mementos
        var c = new Caretaker[10];
        var originator = new Originator();

        var move = 0;
        // Iterator for the moves
        var simulator = new Simulator();

        foreach (string command in simulator)
        {
            // Check for undo
            if (command[0] == '*' && move > 0)
                originator.Restore(c[move - 1].Memento);
            else
                originator.Operation(command);
            move++;
            c[move] = new Caretaker();
            c[move].Memento = originator.SetMemento();
        }
    }
Exemple #20
0
        static void Main(string[] args)
        {
            Console.WriteLine("Memento");
            Console.WriteLine("Memento and Command Example");

            var originator = new Originator(1);
            var caretaker  = new Caretaker(originator);
            var invoker    = new Invoker();

            invoker.ExecuteCommand(new AdditionCommand(originator, caretaker, operand: 1, id: 1));
            invoker.ExecuteCommand(new MultiplicationCommand(originator, caretaker, operand: 2, id: 2));
            invoker.ExecuteCommand(new AdditionCommand(originator, caretaker, operand: 6, id: 3));
            invoker.ExecuteCommand(new MultiplicationCommand(originator, caretaker, operand: 3, id: 4));

            invoker.UndoCommand(id: 2);
            invoker.UndoCommand(id: 3);

            for (int i = 0; i <= 10; i++)
            {
                caretaker.Undo();
            }
        }
Exemple #21
0
        public void ShouldUndoARedoOperation()
        {
            ICaretaker caretaker = new Caretaker(this.eventAggregator);

            var command = new TestableUndoableCommand();

            caretaker.ExecuteCommand(command);

            caretaker.Undo();

            caretaker.Redo();

            Assert.IsTrue(command.UnExecuteCommandCalled);

            command.UnExecuteCommandCalled = false;

            Assert.IsFalse(command.UnExecuteCommandCalled);

            caretaker.Undo();

            Assert.IsTrue(command.UnExecuteCommandCalled);
        }
Exemple #22
0
        public static void Test()
        {
            Console.WriteLine("### Memento");

            var orig = new Originator();

            orig.SetState(KappaState.Normal);
            Caretaker.SaveState(orig);          // Originatorの現在の状態をCaretakerに保存
            orig.ShowState();

            orig.SetState(KappaState.Fat);
            Caretaker.SaveState(orig);
            orig.ShowState();

            orig.SetState(KappaState.Thin);
            Caretaker.SaveState(orig);
            orig.ShowState();

            // 状態を保存済みのMementoから戻す
            Caretaker.RestoreState(orig, 0);
            orig.ShowState();
        }
Exemple #23
0
        public override object Handle(object withdrawal, State account)
        {
            State      backup     = new State(account.accountName, account.money);
            Originator originator = new Originator(account);
            Caretaker  caretaker  = new Caretaker(originator);

            caretaker.Backup();
            if ((withdrawal as int?) <= 1000)
            {
                account.money = account.money - (int)withdrawal;
                if ((withdrawal as int?) > account.money)
                {
                    Console.WriteLine("Withdrawal exceeds funds. Restoring previous state");
                    caretaker.Undo();
                }
                return($" Request for {withdrawal} handled by {this.name}\n");
            }
            else
            {
                return(base.Handle(withdrawal));
            }
        }
Exemple #24
0
        public void DoStuff()
        {
            var circle1 = new Circle(0, 0, 2);
            var circle2 = new Circle(5, 5, 10);
            var circle3 = new Circle(200, 300, 100);
            var dot1    = new Dot(77, 88);

            Originator originator = new Originator();
            Caretaker  caretaker  = new Caretaker(originator);

            originator.AddGraphic(circle1);
            Assert.AreEqual("Circle(0,0,2)", originator.StateInfo);
            caretaker.Backup();

            originator.AddGraphic(circle2);
            Assert.AreEqual("Circle(0,0,2) Circle(5,5,10)", originator.StateInfo);
            caretaker.Backup();

            originator.AddGraphic(circle3);
            Assert.AreEqual("Circle(0,0,2) Circle(5,5,10) Circle(200,300,100)", originator.StateInfo);
            caretaker.Backup();

            originator.AddGraphic(dot1);
            Assert.AreEqual("Circle(0,0,2) Circle(5,5,10) Circle(200,300,100) Dot(77,88)", originator.StateInfo);
            caretaker.Backup();

            originator.RemoveAllCircles();
            Assert.AreEqual("Dot(77,88)", originator.StateInfo);

            // Undoing

            caretaker.Undo();
            Assert.AreEqual("Circle(0,0,2) Circle(5,5,10) Circle(200,300,100) Dot(77,88)", originator.StateInfo);

            caretaker.Undo();
            caretaker.Undo();
            caretaker.Undo();
            Assert.AreEqual("Circle(0,0,2)", originator.StateInfo);
        }
Exemple #25
0
        static void Main(string[] args)
        {
            Console.WriteLine("вы теперь лев");
            lion lion = new lion(new nature());

            Console.WriteLine("вы голодны");
            lion.hunting();
            Console.WriteLine("вас поймали");
            Caretaker caretaker = new Caretaker();

            caretaker.Memento    = lion.CreateMemento();
            lion.ContextStrategy = new zoo();
            Console.WriteLine("вы голодны");
            lion.hunting();
            Console.WriteLine("шайтан машина из 7 шаров");
            balls.knock();
            Console.WriteLine("вам стало плохо вы отошли от этих шаров");
            if (caretaker.Memento != lion.ContextStrategy)
            {
                Console.WriteLine("вы вспомнили о родных местах");
            }
            Console.ReadLine();
        }
Exemple #26
0
        private static void Test()
        {
            // 实例化发起人类
            Originator o = new Originator();

            // 发起人状态为开启
            o.State = "On";
            o.Show();

            // 实例化管理者类
            Caretaker c = new Caretaker();

            // 管理者开始管理备忘录 (内部关联备忘录)备份备忘录
            c.Memento = o.CreateMemento();

            // 发起人状态改变
            o.State = "Off";
            o.Show();

            // 发起人恢复备忘录
            o.SetMemento(c.Memento);
            o.Show();
        }
        /// <summary>
        /// Initializes a new instance of the CheckListViewModel class.
        /// </summary>
        public CheckListViewModel(INavigationService navigationService)
        {
            Messenger.Default.Register<Tour>(this,
              tour =>
              {
              DataServiceTour dsTour = new DataServiceTour();
              Tour = dsTour.getTourById(tour.Id);
              RepairList = new ObservableCollection<Repair>(tour.Repair);
              PictureTourList = new ObservableCollection<PictureTour>(tour.Pictures);
              NearByList = new ObservableCollection<NearBy>(tour.NearBy);

              RecentRenovations = new ObservableCollection<RecentRenov>();
              foreach (var item in Utils.Utility.StringToList(tour.RecentRenovations))
              {
              RecentRenovations.Add(new RecentRenov(){Name= item});
              }
              RaisePropertyChanged("HasLand");
              EditableObject = new Caretaker<Tour>(this.Tour);
              EditableObject.BeginEdit();
              IsFormValid = false;
              });
            this.navigationService = navigationService;
        }
Exemple #28
0
        static void Main(string[] args)
        {
            Caretaker caretaker = new Caretaker();

            IOriginator originator = new Originator(1, "Simple text");

            caretaker.AddMemento(originator.Save());

            for (int i = 0; i < 2; i++)
            {
                originator.ResetValues();
                caretaker.AddMemento(originator.Save());
            }

            originator.ResetValues();

            for (int i = 0; i < 3; i++)
            {
                originator.ShowValues();
                caretaker.Undo();
            }

            originator.ShowValues();
        }
        public static void TestMomentoFlow()
        {
            Originator editor  = new Originator();
            Caretaker  history = new Caretaker();

            editor.content = "a";
            history.Push(editor.createState());

            editor.content = "b";
            history.Push(editor.createState());

            editor.content = "c";

            Console.WriteLine(editor.content);

            editor.restore(history.Pop());
            Console.WriteLine(editor.content);

            editor.restore(history.Pop());
            Console.WriteLine(editor.content);

            editor.restore(history.Pop());
            Console.WriteLine(editor.content);
        }
        public OrderWindow(Caretaker l)
        {
            InitializeComponent();
            _caretaker = l;
            if (_caretaker.Memento.State != null)
            {
                using (
                    var conn =
                        new SqlConnection(
                            ConfigurationManager.ConnectionStrings[
                                "InternetShop.Properties.Settings.DbCarConnectionString"].ConnectionString))
                {
                    conn.Open();
                    var sql = new SqlCommand("SELECT * FROM Users", conn);
                    using (var reader = sql.ExecuteReader())
                    {
                        if (reader.HasRows)
                        {
                            while (reader.Read())
                            {
                                if (reader["email"] as string == _caretaker.Memento.State)
                                {
                                    userId = (int)reader["Id"];
                                }

                                /* (new Product((string)reader["name"], (string)reader["model"],
                                 * (byte[])reader["image"], (string)reader["price"],
                                 * (string)reader["warranty"], (string)reader["descriptions"])
                                 * { Id = (int)reader["id"] });*/
                            }
                        }
                    }
                    conn.Close();
                }
            }
        }
        public void MementoTest()
        {
            {
                var orig = new Originator();
                orig.Show();

                var caretaker = new Creataker
                {
                    Memento = orig.CreateMemento()
                };

                orig.SetState("2");
                orig.Show();

                orig.RestoreMemento(caretaker.Memento);
                orig.Show();
            }

            {
                var mobileOwner = new MobileOwner();
                mobileOwner.Show();

                var caretaker = new Caretaker
                {
                    ContactM = mobileOwner.CreateMemento()
                };

                mobileOwner.ContactPersons.RemoveAt(1);
                mobileOwner.Show();
                mobileOwner.ContactPersons.Clear();
                mobileOwner.Show();

                mobileOwner.RestoreMemento(caretaker.ContactM);
                mobileOwner.Show();
            }
        }
Exemple #32
0
        public static void run()
        {
            BuildingFactory             factory    = BuildingFactory.getInstance();
            AbstractTower               testTower1 = factory.createTower("frost", 0, 0);
            AbstractProjectileContainer testShot   = testTower1.fire(2, 3);

            while (!testShot.updateLocation())
            {
            }
            testShot = null;
            //State & Caretaker demo
            testTower1.upgrade();
            testTower1.fire(3, 5);
            testTower1.upgrade();
            testTower1.upgrade();
            Caretaker caretaker = new Caretaker(testTower1);

            caretaker.backupState();
            testTower1.destroy();
            testTower1.fire(5, 3);

            caretaker.restoreState();
            testTower1.fire(6, 7);
        }
Exemple #33
0
        static void Main(string[] args)
        {
            Console.Title           = "Memento";
            Console.BackgroundColor = ConsoleColor.Gray;
            Console.ForegroundColor = ConsoleColor.Black;

            RealObject ro = new RealObject();
            Caretaker  cr = new Caretaker(ro);

            ro.State = 44;
            cr.Save();

            ro.State = 99;
            cr.Save();

            ro.State = 123445;

            cr.Undo();
            cr.Undo();

            Console.WriteLine($"After two undos state is '{ro.State}'");

            Console.Read();
        }
Exemple #34
0
        //LD_MEMENTO_000
        public static void RunMementoBehavioralPattern()
        {
            Originator <string> orig = new Originator <string>();

            orig.SetState("state0");
            Caretaker <string> .SaveState(orig); //save state of the originator

            orig.ShowState();

            orig.SetState("state1");
            Caretaker <string> .SaveState(orig); //save state of the originator

            orig.ShowState();

            orig.SetState("state2");
            Caretaker <string> .SaveState(orig); //save state of the originator

            orig.ShowState();

            //restore state of the originator
            Caretaker <string> .RestoreState(orig, 0);

            orig.ShowState();  //shows state0
        }
Exemple #35
0
    static void Main(string[] args)
    {
        Originator originator = new Originator("NusmirSmajovic");
        Caretaker  caretaker  = new Caretaker(originator);

        caretaker.Backup();
        originator.DoSomething();

        caretaker.Backup();
        originator.DoSomething();

        caretaker.Backup();
        originator.DoSomething();

        Console.WriteLine();
        caretaker.ShowHistory();

        Console.WriteLine("\nClient: gå tillbaka!\n");
        caretaker.Undo();

        Console.WriteLine("\n\nClient: En gång till!\n");
        caretaker.Undo();


        Console.WriteLine("\nClient: gå tillbaka!\n");
        caretaker.Redo();

        Console.WriteLine("\n\nClient: En gång till!\n");
        caretaker.Redo();

        Console.WriteLine();
        caretaker.ShowHistory();


        Console.WriteLine();
    }
Exemple #36
0
 public AdditionCommand(Originator originator, Caretaker caretaker, double operand, int id)
     : base(originator, caretaker, operand, id)
 {
 }
 private void SetTour(Tour tour)
 {
     if (tour != null)
     {
         Tour = tour;
         this.CurrentMode = Mode.EditTour;
         if (Tour.AppType != null)
             SelectedAppType = AppTypeList.IndexOf(Tour.AppType.Value);
         SelectedEstateType = EstateTypeList.IndexOf(Tour.EstateType);
     }
     else
     {
         Tour = new Tour();
         Tour.Type = TourType.Rent;
         SelectedIndexPivot = 0;
         Tour.Date = DateTime.Now;
         this.CurrentMode = Mode.NewTour;
         SelectedAppType = 0;
         SelectedEstateType = 0;
     }
     IsFormValid = false;
     EditableObject = new Caretaker<Tour>(this.Tour);
     EditableObject.BeginEdit();
 }
        private void Init(int trip, int photo, PointOfInterest poi, Mode mode)
        {
            this.Mode = mode;

            if (this.Mode == ViewModels.Mode.add)
            {
                Picture = new Picture();
                DataServiceTrip dsTrip = new DataServiceTrip();
                Picture.Trip = dsTrip.getTripById(trip);
                Picture.Date = DateTime.Now;
                if (poi != null)
                    POISelected = poi;
            }
            else
            {
                Picture = GetPictureInDB(photo);
            }

            if (Picture.Trip.PointsOfInterests != null)
                PoiList = new List<PointOfInterest>(Picture.Trip.PointsOfInterests);

            EditableObject = new Caretaker<Picture>(this.Picture);
            EditableObject.BeginEdit();

            InitialiseValidator();
        }
        /// <summary>
        /// Initializes a new instance of the AddTripViewModel class.
        /// </summary>
        public AddEditTripViewModel(INavigationService navigationService)
        {
            Messenger.Default.Register<Tuple<int, Mode>>(this,
            tuple =>
            {
            this.Mode = tuple.Item2;
            Departure = String.Empty;
            Destination = String.Empty;

            if (this.Mode == Mode.add)
            {
            Trip = new Trip();
            Trip.BeginDate = DateTime.Now;
            }
            else
            {
            DataServiceTrip dsTrip = new DataServiceTrip();
            this.Trip = dsTrip.getTripById(tuple.Item1);
            }

            this.FriendList = Utility.FriendToList(Trip.FriendList);
            InitialiseValidator();

            EditableObject = new Caretaker<Trip>(this.Trip);
            EditableObject.BeginEdit();
            });

            this._navigationService = navigationService;
        }
        private void Init(int trip, int note, PointOfInterest poi, Mode mode)
        {
            this.Mode = mode;

            if (this.Mode == ViewModels.Mode.add)
            {
                Note = new Note();
                DataServiceTrip dsTrip = new DataServiceTrip();
                Note.Trip = dsTrip.getTripById(trip);
                Note.Date = DateTime.Now;
                if (poi != null)
                    this.POISelected = poi;
            }
            else
            {
                Note = GetNoteInDB(note);
            }

            if (Note.Trip.PointsOfInterests != null)
                _poiList = new List<PointOfInterest>(Note.Trip.PointsOfInterests);

            EditableObject = new Caretaker<Note>(this.Note);
            EditableObject.BeginEdit();

            InitialiseValidator();
        }
 public ResetPassword(Caretaker l)
 {
     InitializeComponent();
     _caretaker = l;
 }
Exemple #42
0
 static void Main(string[] args)
 {
     Caretaker.Run();
     Console.ReadKey();
 }
        static void Main(string[] args)
        {
            // Abstract factory
            IFactory concreteFactory = new WindowsFactory();
            var      obj1            = concreteFactory.CreateCloneable();
            var      obj2            = concreteFactory.CreateComparable();

            // Builder
            IBuilder builder  = new Builder1();
            var      director = new Director(builder);
            var      product  = director.Construct <IProduct>();

            // Factory method
            Application app      = new DrawingApplication();
            Document    document = app.CreateDocument();

            // Prototype
            Prototype prototype = new ConcretePrototype1();
            Prototype newObject = prototype.Clone();

            // Command
            Receiver receiver = new Receiver();
            Command  command  = new ConcreteCommand(receiver);
            Invoker  invoker  = new Invoker();

            invoker.SetCommand(command);
            invoker.ExecuteCommand();

            // Interpreter
            var context = new Context();

            AbstrcatExpression experssion1 = new NonterminalExpression();
            AbstrcatExpression expression2 = new TerminalExpression();

            experssion1.Interpret(context);
            expression2.Interpret(context);

            // Mediator
            ConcreteMediator m = new ConcreteMediator();

            ConcreteColleague1 c1 = new ConcreteColleague1(m);
            ConcreteColleague2 c2 = new ConcreteColleague2(m);

            m.Colleague1 = c1;
            m.Colleague2 = c2;

            c1.Send("How are you?");
            c2.Send("Fine, thanks");

            // Memoto
            Originator o = new Originator();

            o.State = "On";

            // Store internal state
            Caretaker c = new Caretaker();

            c.Memento = o.CreateMemento();

            // Continue changing originator
            o.State = "Off";

            // Restore saved state
            o.SetMemento(c.Memento);

            // Observer
            ConcreteSubject s = new ConcreteSubject();

            s.Attach(new ConcreteObserver(s, "X"));
            s.Attach(new ConcreteObserver(s, "Y"));
            s.Attach(new ConcreteObserver(s, "Z"));

            // Change subject and notify observers
            s.SubjectState = "ABC";
            s.Notify();
        }
 public GameState()
 {
     originator = new Originator();
     caretaker  = new Caretaker(originator);
 }
Exemple #45
0
 public RegisterWindow(Caretaker l)
 {
     InitializeComponent();
     _caretaker = l;
 }