Exemplo n.º 1
0
        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();
                }
            }
        }
Exemplo n.º 2
0
        //***************************************************************************************************************************************************************************//
        //------------------------------------------------------------------------- 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);
                    }
                }
            }
        }