public void Validar(restringirCompra RestingirCompra, Product producto) // Metodo en el cual se obtiene el delegate { restringirCompra = RestingirCompra; // igualamos el delegate al evento productoValido = producto; // guardamos la variable producto en una variable valida para cualquier método de HermanaMayor Console.Clear(); int valor = -1; if (Pedido.Count() == 0) // Vemos si se a comprado todo { restringirCompra(null); // Enviamos un valor nulo a la función del delegate "Comprobar" pedidoCompleto(true); // Enviamos un valor true a la función del delegate "ListaVacia" } else { for (int i = 0; i < Pedido.Count(); i++) // Recorremos el pedido { if (String.Compare(Pedido[i].Name, productoValido.Name, true) == 0) // Comprobamos si el producto esta en la lista de compra { restringirCompra(productoValido); // Enviamos el producto a la función del delegate "Comprobar" Pedido.RemoveAt(i); // Removemos el producto Guardar(); // Utilizamos el método Guardar valor = 0; } } if (valor != 0) // En el caso que el producto no este en la lista { restringirCompra(null); // Enviamos un valor nulo a la función del delegate "Comprobar" Console.WriteLine("Producto invalido"); Console.WriteLine("\n\nPresiona ENTER para volver al supermercado..."); Console.ReadLine(); } } }
//***************************************************************************************************************************************************************************// //------------------------------------------------------------------------- Codigo dado -------------------------------------------------------------------------------------------// //****************************************************************************************************************************************************************// static void Main(string[] args) { // ----------------------------------------------------------------- Agregado -----------------------------------------------------------------------------------------// //*********************************************************************************************************************************************************************// RestringirCompra = new restringirCompra(Comprobar); // Creamos el delagate "RestringirCompra" y definimos la funcion a utilizar PedidoCompleto = new pedidoCompleto(ListaVacia); // Creamos el delagate "RestringirCompra" y definimos la funcion a utilizar try { cart = Cargar("datosCart"); // Cargamos datos del archivo y los agregamos al carro } catch // En caso que falle la carga (No existe el archivo) { cart = new List <Product>(); // Creamos un nuevo carro } hermana = new HermanaMayor(PedidoCompleto); // Creamos una nueva "HermanaMayor" //*********************************************************************************************************************************************************************// market = new List <Product>(); SupplyStore(); while (true) { PrintHeader(); Console.WriteLine("¿Que quieres hacer?\n"); Console.WriteLine("\t1. Ver Receta"); Console.WriteLine("\t2. Comprar"); Console.WriteLine("\t3. Ver carrito"); Console.WriteLine("\t4. Pagar"); Console.WriteLine("\t5. Salir"); while (true) { String answer = Console.ReadLine(); if (answer == "1") { ShowRecipe(); break; } else if (answer == "2") { WalkAround(); break; } else if (answer == "3") { PrintCart(); break; } else if (answer == "4") { // ------------------------------------------------------------- Agregado ----------------------------------------------------------------------// //**********************************************************************************************************************************************// if (PedidoRealizado) // La variable cambia de valor mediante el método "ListaVacia" del delegate "PedidoRealizado" { Pay(); // Esta función ya venia definida } else { Console.Clear(); Console.WriteLine("Faltan cosas por comprar"); Console.WriteLine("\n\nPresiona ENTER para volver al supermercado..."); Console.ReadLine(); } break; //**********************************************************************************************************************************************// } else if (answer == "5") { Guardar(); Environment.Exit(1); } } } }