static void Main(string[] args) { Historico historico = new Historico(); Contrato contrato = new Contrato(DateTime.Now, "Diego", TipoContrato.NOVO); historico.adiciona(contrato.salvaEstado()); contrato.avanca(); historico.adiciona(contrato.salvaEstado()); contrato.avanca(); historico.adiciona(contrato.salvaEstado()); contrato.avanca(); historico.adiciona(contrato.salvaEstado()); contrato.printAtributos(); contrato.restaura(historico.pega(0)); contrato.printAtributos(); Console.ReadLine(); }
static void Main(string[] args) { Historico historico = new Historico(); Contrato contrato = new Contrato(DateTime.Now, "Maurício", TipoContrato.Novo); historico.Adiciona(contrato.SalvaEstado()); contrato.Avanca(); historico.Adiciona(contrato.SalvaEstado()); contrato.Avanca(); historico.Adiciona(contrato.SalvaEstado()); contrato.Avanca(); historico.Adiciona(contrato.SalvaEstado()); Console.WriteLine(historico.GetEstado(0).Contrato.Tipo.ToString()); Console.WriteLine(historico.GetEstado(1).Contrato.Tipo.ToString()); Console.WriteLine(historico.GetEstado(2).Contrato.Tipo.ToString()); Console.WriteLine(historico.GetEstado(3).Contrato.Tipo.ToString()); Console.ReadKey(); }
static void Main(string[] args) { Historico Historico = new Historico(); Contrato Contrato = new Contrato(DateTime.Now, "Rodrigo", TipoContrato.Novo); Historico.Adiciona(Contrato.SalvaEstado()); Contrato.Avanca(); Historico.Adiciona(Contrato.SalvaEstado()); Contrato.Avanca(); Historico.Adiciona(Contrato.SalvaEstado()); Contrato.Avanca(); Historico.Adiciona(Contrato.SalvaEstado()); }
static void Main(string[] args) { /* Design Pattern Memento * Utilizado para salvar o Estado de um Objeto * Util para recuperar o Estado de um Objeto em um certo momento por exemplo. */ Historico historico = new Historico(); Contrato contrato = new Contrato(DateTime.Now, "Joao", TipoContrato.Novo); historico.Adicionar(contrato.SalvarEstado()); // TIPO CONTRATO = NOVO contrato.Avancar(); // TIPO CONTRATO = ANDAMENTO historico.Adicionar(contrato.SalvarEstado()); contrato.Avancar(); // TIPO CONTRATO = ACERTADO historico.Adicionar(contrato.SalvarEstado()); contrato.Restaurar(historico.Obter(1)); // TIPO CONTRATO = ANDAMENTO * RESTAURANDO ESTADO historico.Adicionar(contrato.SalvarEstado()); contrato.Avancar(); // TIPO CONTRATO = ACERTADO historico.Adicionar(contrato.SalvarEstado()); contrato.Avancar(); // TIPO CONTRATO = CONCLUIDO historico.Adicionar(contrato.SalvarEstado()); Console.WriteLine("Historico de Estados"); Estado estado; for (int i = 0; i < historico.QtdEstados; i++) { estado = historico.Obter(i); Console.WriteLine(); Console.WriteLine($"Data de Alteracao: {estado.DtAlteracao.ToString("dd/MM/yyyy HH:mm:ss:fff")}"); Console.WriteLine($"Data do Contrato: {estado.Contrato.Dt.ToString("dd/MM/yyyy HH:mm:ss:fff")}"); Console.WriteLine($"Cliente: {estado.Contrato.Cliente}"); Console.WriteLine($"Tipo: {estado.Contrato.Tipo}"); } Console.ReadKey(); }
static void Main(string[] args) { Historico historico = new Historico(); Contrato c = new Contrato(DateTime.Now, "Guilherme", TipoContrato.Novo); historico.Adiciona(c.SalvaEstado()); Console.WriteLine(c.tipo); c.Avanca(); historico.Adiciona(c.SalvaEstado()); Console.WriteLine(c.tipo); c.Avanca(); historico.Adiciona(c.SalvaEstado()); Console.WriteLine(c.tipo); Console.WriteLine(historico.Pega(1).contrato.tipo); }
static void Main(string[] args) { Historico historico = new Historico(); Contrato contrato = new Contrato(DateTime.Now, "Tiagao", TipoContrato.Novo); historico.Adiciona(contrato.SalvaEstado()); contrato.Avanca(); historico.Adiciona(contrato.SalvaEstado()); contrato.Avanca(); historico.Adiciona(contrato.SalvaEstado()); contrato.Avanca(); historico.Adiciona(contrato.SalvaEstado()); Console.WriteLine("Hello World!"); }
public static void Main(string[] args) { Historico historico = new Historico(); Contrato contrato = new Contrato(DateTime.Now, "Mauricio", TipoContrato.Novo); historico.Adiciona(contrato.SalvaEstado()); contrato.Avanca(); historico.Adiciona(contrato.SalvaEstado()); Console.WriteLine(contrato.Tipo); contrato.Avanca(); historico.Adiciona(contrato.SalvaEstado()); Console.WriteLine(contrato.Tipo); contrato.Avanca(); historico.Adiciona(contrato.SalvaEstado()); Console.WriteLine(contrato.Tipo); Console.ReadKey(); }
static void Main(string[] args) { var contrato = new Contrato("teste", DateTime.Now, TipoContrato.Novo); var historico = new Historico(); for (byte i = 0; i < 4; i++) { Console.WriteLine("Tipo contrato {0}", contrato.Tipo); try { contrato.Avanca(); historico.Adiciona(contrato.SalvaEstado()); } catch (Exception ex) { Console.WriteLine("Gerou uma exceção: {0}", ex.Message); } } Estado estadoTeste = historico.Pega(1); Console.WriteLine("Histórico: {0}", estadoTeste.Contrato.Tipo); }
static void Main(string[] args) { Console.WriteLine("Memento"); Historico historico = new Historico(); Contrato contrato = new Contrato(DateTime.Now, "Adriano", TipoContrato.Novo); historico.Adiciona(contrato.SalvarEstado()); Thread.Sleep(500); contrato.Avanca(); historico.Adiciona(contrato.SalvarEstado()); Thread.Sleep(500); contrato.Avanca(); historico.Adiciona(contrato.SalvarEstado()); Estado e0 = historico.Obter(0); Console.WriteLine($"Estado {0} em {e0.DataTransicao} com tipo {e0.Contrato.Tipo}"); Estado e1 = historico.Obter(1); Console.WriteLine($"Estado {1} em {e1.DataTransicao} com tipo {e1.Contrato.Tipo}"); Estado e2 = historico.Obter(2); Console.WriteLine($"Estado {2} em {e1.DataTransicao} com tipo {e2.Contrato.Tipo}"); }