예제 #1
0
        public void AutorizarSolicitudCompra(DatosCompra _oDatosCompra)
        {
            string     cResultado   = string.Empty;
            IManejador ICoordinador = new Coordinador();
            IManejador IGerente     = new Gerente();
            IManejador ISudirector  = new Subdirector();
            IManejador IDirector    = new Director();

            ICoordinador.AsignarSiguiente(IGerente);
            IGerente.AsignarSiguiente(ISudirector);
            ISudirector.AsignarSiguiente(IDirector);

            cResultado = ICoordinador.AutorizarSolicitudCompra(_oDatosCompra);
            Console.WriteLine($"===> {cResultado}");
        }
예제 #2
0
        public DatosCompra PrepararMenuDatosCompra()
        {
            int         iPrecioProducto = 0;
            string      cPrecioProducto = string.Empty;
            DatosCompra oDatosCompra    = new DatosCompra();

            Console.WriteLine("DATOS DE LA COMPRA:");
            Console.Write("Escribe el nombre del producto: ");
            oDatosCompra.cNombreProducto = Console.ReadLine();
            Console.Write("Escribe el precio del producto: ");
            cPrecioProducto = Console.ReadLine();
            Console.Write("\n");

            int.TryParse(cPrecioProducto, out iPrecioProducto);
            oDatosCompra.iPrecioProducto = iPrecioProducto;
            return(oDatosCompra);
        }
예제 #3
0
        static void Main(string[] args)
        {
            string      cResultado          = string.Empty;
            string      cOpcionConfirmacion = string.Empty;
            Client      oCliente            = new Client();
            DatosCompra oDatosCompra        = new DatosCompra();
            Menu        oMenu = new Menu();

            Console.WriteLine("****************************** PATRÓN: CADENA DE RESPONSABILIDAD ******************************");
            Console.Write("\n");
            oMenu.PrepararMenuInformacion();
            oDatosCompra = oMenu.PrepararMenuDatosCompra();
            oCliente.AutorizarSolicitudCompra(oDatosCompra);
            cResultado = oMenu.PrepararMenuConfirmacion();

            while (true)
            {
                switch (cResultado)
                {
                case "1":
                    oDatosCompra = oMenu.PrepararMenuDatosCompra();
                    oCliente.AutorizarSolicitudCompra(oDatosCompra);
                    cResultado = oMenu.PrepararMenuConfirmacion();
                    break;

                case "2":
                    Environment.Exit(-1);
                    break;

                default:
                    Console.WriteLine("La opción es incorrecta.");
                    cResultado = oMenu.PrepararMenuConfirmacion();
                    break;
                }
            }
        }