public override void LiberarPedido(Pedido pedido)
 {
     if (pedido.Criador == Cargos.Operador)
     {
         //liberar o pedido
         Console.WriteLine("liberador pelo Operador");
     }
     else
         Proximo.LiberarPedido(pedido);
 }
 public override void LiberarPedido(Pedido pedido)
 {
     if (pedido.Criador < Cargos.Gerente)
     {
         //liberar o pedido
         Console.WriteLine("liberador pelo Gerente");
     }
     else
         Proximo.LiberarPedido(pedido);
 }
예제 #3
0
        static void Main(string[] args)
        {
            Pedido pedido = new Pedido(Cargos.Coordenador);

            LiberadorPedidos liberador = new LiberadorDePedidosOperador();
            LiberadorPedidos liberadorCoordenador = new LiberadorDePedidosCoordenador();
            LiberadorPedidos liberadorGerente = new LiberadorDePedidosGerente();

            liberador.Proximo = liberadorCoordenador;
            liberadorCoordenador.Proximo = liberadorGerente;
            liberadorGerente.Proximo = liberadorCoordenador;

            liberador.LiberarPedido(pedido);

            Console.ReadKey();
        }
 public abstract void LiberarPedido(Pedido pedido);