static void Main() { Caldero PocionA = new Nivel1(); Caldero PocionB = new Nivel2(); Caldero PocionC = new Nivel3(); PocionA.SetSuccessor(PocionB); PocionB.SetSuccessor(PocionC); Console.WriteLine("Bienvenido a la tienda de pocimas\n aqui solo es pocible hacer\npocimas de nivel 3 o menor\n la cantidad maxima de ingrediente es 100"); Console.WriteLine("ingrese la cantidad de material que desea depositar para la primera pocima"); string material1 = Console.ReadLine(); int m1; int.TryParse(material1, out m1); Console.WriteLine("ingrese la cantidad de material que desea depositar para la segunda pocima"); string material2 = Console.ReadLine(); int m2; int.TryParse(material2, out m2); Console.WriteLine("ingrese la cantidad de material que desea depositar para la tercera pocima"); string material3 = Console.ReadLine(); int m3; int.TryParse(material3, out m3); Peticion p = new Peticion(1, m1, "Pocima 1"); PocionA.ProcessRequest(p); p = new Peticion(2, m2, "Pocima 2"); PocionA.ProcessRequest(p); p = new Peticion(3, m3, "Pocima 3"); PocionA.ProcessRequest(p); Console.ReadKey(); }
public override void ProcessRequest(Peticion purchase) { if (purchase.Amount < 10) { Console.WriteLine("{0} Pocima posible {1}", this.GetType().Name, purchase.Number); } else { successor.ProcessRequest(purchase); } }
public abstract void ProcessRequest(Peticion purchase);
public override void ProcessRequest(Peticion purchase) { if (purchase.Amount < 100) { Console.WriteLine("{0} Pocima posible {1}", this.GetType().Name, purchase.Number); } else { Console.WriteLine( "Pocima {0} posible en esta tienda!", purchase.Number); } }