static void Main(string[] args) { //definimos los cuatro objetos que van a ser parte de la cadena var comprador = new Comprador(); var gerente = new Gerente(); var director = new Director(); var directorGeneral = new DirectorGneral(); //componemos la cadena //le decimos que el sucesor del geren es el director //y que el sucesor de comprador es gerente //y que el sucesor de director es director genreal director.AgregarSiguiente(directorGeneral); gerente.AgregarSiguiente(director); comprador.AgregarSiguiente(gerente); //creamos una compra y lo empezamos con un clico para simular las operaciones //en donde solicitamos el importe de la compra var c = new Compra(); double importe = 1; while (importe != 0) //crear un nuevo objeto vemos que este objeto sera serivado directamente al primera de la cadena //que es el comprador //cuando se reciba la solicitud y no la puede procesar se lo enviara al siguiente { Console.WriteLine("Ingrese el importe de la compra (0 para terminar)"); importe = double.Parse(Console.ReadLine()); c.Importe = importe; comprador.Procesar(c); } }
static void Main(string[] args) { var comprador = new Comprador(); var gerente = new Gerente(); var director = new Director(); var directorGeneral = new DirectorGeneral(); director.AgregarSiguiente(directorGeneral); gerente.AgregarSiguiente(director); comprador.AgregarSiguiente(gerente); var c = new Compra(); double importe = 1; while (importe != 0) { Console.WriteLine("Ingrese el importe de la compra (0 para terminar)"); importe = double.Parse(Console.ReadLine()); c.Importe = importe; comprador.Procesar(c); } }