private static void State1()
        {
            try
            {
                var reforma = new Orcamento(500);


                Console.WriteLine("Status: " + reforma.Status + " | Saldo: " + reforma.Valor);
                reforma.AplicaDescontoExtra();
                Console.WriteLine("Status: " + reforma.Status + " | Saldo: " + reforma.Valor);


                reforma.Aprova();

                Console.WriteLine("\nStatus: " + reforma.Status + " | Saldo: " + reforma.Valor);

                reforma.AplicaDescontoExtra();
                Console.WriteLine("Status: " + reforma.Status + " | Saldo: " + reforma.Valor);

                reforma.Finaliza();
                Console.WriteLine("\nStatus: " + reforma.Status + " | Saldo: " + reforma.Valor);

                reforma.AplicaDescontoExtra();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Conceito de Design Patterns estudado: State
        /// </summary>
        public static void ExecutaCalculadoraDeDescontosState()
        {
            Orcamento reforma = new Orcamento(500);

            Console.WriteLine(reforma.Valor);

            reforma.AplicaDescontoExtra();
            Console.WriteLine(reforma.Valor);

            reforma.Aprova();
            reforma.AplicaDescontoExtra();
            Console.WriteLine(reforma.Valor);

            reforma.Finaliza();
        }
Exemplo n.º 3
0
        private static void MostraEstado()
        {
            Orcamento reforma = new Orcamento(5000);

            Console.WriteLine(reforma.Valor);

            reforma.AplicaDescontoExtra();
            Console.WriteLine(reforma.Valor);
            reforma.Aprova();

            reforma.AplicaDescontoExtra();
            Console.WriteLine(reforma.Valor);

            reforma.Finaliza();
        }
        private static void TestaDescontoExtra() //State
        {
            Orcamento reforma = new Orcamento(500.0);

            reforma.AplicaDescontoExtra();
            Console.WriteLine(reforma.Valor); // imprime 475,00 pois descontou 5%
            reforma.Aprova();                 // aprova nota!

            reforma.AplicaDescontoExtra();
            Console.WriteLine(reforma.Valor); // imprime 465,50 pois descontou 2%
            reforma.AplicaDescontoExtra();

            reforma.Finaliza();

            //reforma.AplicaDescontoExtra();
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            Orcamento reforma = new Orcamento(500);

            Console.WriteLine(reforma.Valor);

            reforma.AplicaDescontoExtra();
            Console.WriteLine(reforma.Valor);

            reforma.Aprova();

            reforma.AplicaDescontoExtra();
            Console.WriteLine(reforma.Valor);

            reforma.Finaliza();

            reforma.AplicaDescontoExtra();

            Console.ReadKey(); /*demorar o tempo um pouco*/
        }
Exemplo n.º 6
0
        private static void TestaStateEstadosOrcamento()
        {
            var reforma = new Orcamento(500);

            Console.WriteLine(reforma.Valor);

            reforma.AplicaDescontoExtra();
            reforma.AplicaDescontoExtra();

            Console.WriteLine(reforma.Valor);

            reforma.Aprova();

            reforma.AplicaDescontoExtra();

            Console.WriteLine(reforma.Valor);

            reforma.Finaliza();

            //reforma.AplicaDescontoExtra(); -> Joga exceção.

            Console.ReadKey();
        }