Esempio n. 1
0
        private static void MementoTest()
        {
            var contrato = new Contrato(DateTime.UtcNow, "test 1", TipoContrato.Novo);

            contrato.SaveMemento();
            Console.WriteLine($"Estado atual do contrato: {contrato.Tipo}");

            contrato.Avancar();
            contrato.SaveMemento();
            Console.WriteLine($"Estado atual do contrato: {contrato.Tipo}");

            contrato.Avancar();
            Console.WriteLine($"Estado atual do contrato: {contrato.Tipo}");

            var contratoRollback = contrato.RollbackMemento();

            contrato = contratoRollback;
            Console.WriteLine($"Estado atual do contrato apos rollback: {contrato.Tipo}");
        }