public void GeneracionAleatoria()
        {
            string[] listacliente = new string[16] {
                "Pedro", "Juan", "Carlos", "Jose", "Carlos", "Luis", "Pablo", "Antonia", "Javiera", "Pilar", "Sofia", "Alejandra", "Josefina", "Florencia", "Daniela", "Maria"
            };
            string[] listaapellidocliente = new string[16] {
                "Daniel", "Lopez", "Perez", "Carrasco", "Zamorano", "Mendez", "Ruiz-Clavijo", "Cuevas", "Guzman", "Fernandez", "Gonzales", "Smith", "Ramirez", "Dragmire", "Vargas", "Garcia"
            };
            Random rnd = new Random();

            for (int i = 0; i < 16; i++)
            {
                int    index1     = rnd.Next(0, 16);
                int    index2     = rnd.Next(0, 16);
                int    indexfecha = rnd.Next(0, 29);
                int    indexmes   = rnd.Next(0, 13);
                int    indexyear  = rnd.Next(1960, 2006);
                string indexrut   = "";
                for (int a = 0; a < 9; a++)
                {
                    indexrut += rnd.Next(0, 10);
                }
                string             indexpais    = "Chile";
                Individuos.Cliente indexcliente = new Individuos.Cliente(listacliente[index1], listaapellidocliente[index2], indexrut, indexfecha, indexmes, indexyear, indexpais, 1000000);
                cli.Add(indexcliente);
            }
            string[] puestos = new string[10] {
                "Panadero", "Fiambreria", "Pasteleria", "Auxiliar", "Guardia", "Gerente", "Almacenamiento", "Informacion", "Jugueteria", "Publicista"
            };
            for (int i = 0; i < 7; i++)
            {
                int    index1     = rnd.Next(0, 16);
                int    index2     = rnd.Next(0, 16);
                int    indexfecha = rnd.Next(0, 29);
                int    indexmes   = rnd.Next(0, 13);
                int    indexyear  = rnd.Next(1960, 2006);
                string indexrut   = "";
                for (int a = 0; a < 9; a++)
                {
                    indexrut += rnd.Next(0, 10);
                }
                string indexpais   = "Chile";
                int    indexsector = rnd.Next(0, 10);
                Individuos.Empleado indexempleado = new Individuos.Empleado(listacliente[index1], listaapellidocliente[index2], indexrut, indexfecha, indexmes, indexyear, indexpais, 350000, puestos[indexsector], "08:30", "16:30");
                emp.Add(indexempleado);
            }

            string[] productos = new string[30] {
                "Pan Marraqueta", "Pastel de Chocolate", "Arroz", "Fideos", "Salsa de Tomate", "Mayonesa", "Cuaderno", "Mantequilla", "Queso Mantecoso", "Jamon de Pavo", "Detergente", "Papel Confort", "Frutillas", "Salmon Ahumado", "Dulce de Leche", "Leche", "Chocolate", "Autito de Juguete", "Playstation 4", "Audifonos", "Lapiz Pack 12 Colores", "Monopoly", "Pizza Congelada", "Pollo", "Platano", "Pelota de Futbol", "Alcohol Gel", "Vino", "Coca Cola", "Jugo de Naranja"
            };
            string[] marcaproductos = new string[30] {
                "Panaderia Pancito Rico", "Tavelli", "Granja de Pablito", "Granja de Pablito", "Carozzi", "Hellmans", "Rhein", "Soprole", "Colun", "Soproval", "Clorox", "Confort", "Granja de Pablito", "Pescados Yum Yum", "Colun", "Colun", "Nestle", "Hot Wheels", "SONY", "SONY", "Faber Castel", "Hasbro", "Francesco Virgolini Pizza", "Super Pollo", "Monkeys Industries", "BALLS", "19.Inc", "Los cultivos de Jesucristo", "Coca Cola", "Livean"
            };
            string[] tipoproducto = new string[30] {
                "Pan", "Pastel/Tortas", "Arroz", "Pastas", "Salsas", "Salsas", "Material", "Lacteo", "Lacteo", "Fiambreria", "Limpieza", "Limpieza", "Fruta", "Pescados/Mariscos", "Lacteo", "Leche", "Lacteo/Dulces", "Juguete", "Videojuegos", "Accesorios", "Materiales", "Juego de Mesa", "Alimentos Congelados", "Carnes", "Frutas", "Juguetes", "Limpieza", "Bebida Alcoholica", "Bebidas", "Jugos"
            };
            int[] precioproductos = new int[30];
            int[] stockproductos  = new int[30];
            for (int i = 0; i < 30; i++)
            {
                precioproductos[i] = rnd.Next(100, 15001);
                stockproductos[i]  = rnd.Next(1, 51);
                Producto indexproducto = new Producto(productos[i], precioproductos[i], marcaproductos[i], stockproductos[i], tipoproducto[i]);
                prod.Add(indexproducto);
            }
            VerPersonas();
            Console.WriteLine("");
            VerProductos();
            Console.WriteLine("");
            Console.WriteLine("Personas y productos Agregados con exito!!!");
            Console.WriteLine("");
            for (int i = 0; i < 5; i++)
            {
                ListadeSuperMercado newlista = new ListadeSuperMercado();
                int cosasacomprar            = rnd.Next(1, 6);
                int clientequecompra         = rnd.Next(0, cli.Count() - 1);
                newlista.nombrecliente = cli[clientequecompra].GetName() + " " + cli[clientequecompra].GetLastName();
                int cajeroatendiendo = rnd.Next(0, caja.Count() - 1);
                newlista.nombrecajero = caja[cajeroatendiendo].GetName() + " " + caja[cajeroatendiendo].GetLastName();
                newlista.cajaatendida = caja[cajeroatendiendo].GetBox();
                newlista.horacompra   = newlista.GetShopHour(caja[cajeroatendiendo]);


                for (int a = 0; a < cosasacomprar; a++)
                {
                    int productocomprando = rnd.Next(1, prod.Count() - 1);
                    int cantcompra        = rnd.Next(1, prod[productocomprando].GetCantidad());
                    for (int e = 0; e < cantcompra; e++)
                    {
                        if (cli[clientequecompra].GetClientMoney() > prod[productocomprando].GetPrice())
                        {
                            prod[productocomprando].CambiarCantidad(1);
                            cli[clientequecompra].ClientBuy(prod[productocomprando].GetPrice());
                            newlista.listadecompras.Add(prod[productocomprando]);
                        }
                    }
                }
                compras.Add(newlista);
            }
            VerCompras();
            Console.WriteLine("");
            Console.WriteLine("Compras realizadas con exito");
        }
        public void Comprar()
        {
            Console.WriteLine("Clientes disponibles: ");
            int i = 1;

            foreach (Individuos.Cliente dato in cli)
            {
                Console.WriteLine(i + ") " + dato.GetName() + " " + dato.GetLastName() + " |Dinero: " + dato.GetClientMoney());
                i += 1;
            }
            Console.WriteLine("Elija con un numero: ");
            int option = Convert.ToInt32(Console.ReadLine());

            int dinerodisponible         = cli[option - 1].GetClientMoney();
            int menucompra               = 0;
            ListadeSuperMercado newlista = new ListadeSuperMercado();

            newlista.nombrecliente = cli[option - 1].GetName() + " " + cli[option - 1].GetLastName();
            int dinerogastado = 0;

            while (menucompra != 3)
            {
                Console.WriteLine("");
                Console.WriteLine("MENU DE COMPRAS");
                Console.WriteLine("");
                Console.WriteLine("1) Elegir producto");
                Console.WriteLine("2) Ver mis productos");
                Console.WriteLine("3) Comprar");
                Console.WriteLine("");
                Console.WriteLine("Dinero Restante: $" + (dinerodisponible - dinerogastado));
                Console.WriteLine("Elija con un numero su opcion: ");
                menucompra = Convert.ToInt32(Console.ReadLine());
                if (menucompra == 1)
                {
                    int elegirproducto = 1;
                    foreach (Producto data in prod)
                    {
                        Console.WriteLine(elegirproducto + ")  Nombre del producto: " + data.GetName() + " |Marca: " + data.GetMarca() + " |Precio: " + data.GetPrice() + " |Tipo: " + data.GetClass() + " |Unidades Disponibles: " + data.GetCantidad());
                        elegirproducto += 1;
                    }

                    Console.WriteLine("Ingrese el producto que quiere con su numero: ");
                    int objetocomprado = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("Ingrese la cantidad de unidades que quiere: ");
                    int objetosadquiridos = Convert.ToInt32(Console.ReadLine());
                    if (objetosadquiridos <= prod[objetocomprado - 1].GetCantidad())
                    {
                        if (prod[objetocomprado - 1].GetPrice() * objetosadquiridos < dinerodisponible)
                        {
                            for (int k = 0; k < objetosadquiridos; k++)
                            {
                                newlista.listadecompras.Add(prod[objetocomprado - 1]);
                            }
                            dinerogastado += prod[objetocomprado - 1].GetPrice() * objetosadquiridos;
                            prod[objetocomprado - 1].CambiarCantidad(objetosadquiridos);
                            Console.WriteLine("Productos agregados con exito!!!");
                        }
                        else
                        {
                            Console.WriteLine("Lo siento, el cliente no tiene ese dinero, intente reducir las cantidades");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Lo siento, no existe la cantidad que desea");
                    }
                }
                else if (menucompra == 2)
                {
                    int obs = 1;
                    foreach (Producto data in newlista.listadecompras)
                    {
                        Console.WriteLine(obs + ")  Nombre del producto: " + data.GetName() + " |Marca: " + data.GetMarca() + " |Precio: " + data.GetPrice() + " |Tipo: " + data.GetClass());
                        obs += 1;
                    }
                }
            }

            Console.WriteLine("Elija un cajero: ");
            Console.WriteLine("");
            int cajadisponible = 1;

            foreach (Individuos.Empleados.Cajero data in caja)
            {
                Console.WriteLine(cajadisponible + ") " + data.GetName() + " " + data.GetLastName() + "| Caja: " + data.GetBox());
                cajadisponible += 1;
            }
            Console.WriteLine("");
            Console.WriteLine("Indique numero de la caja a ser atendido: ");
            int chooseyourbox = Convert.ToInt32(Console.ReadLine());

            newlista.nombrecajero = caja[chooseyourbox - 1].GetName() + " " + caja[chooseyourbox - 1].GetLastName();
            newlista.horacompra   = newlista.GetShopHour(caja[chooseyourbox - 1]);
            newlista.cajaatendida = chooseyourbox;

            if (dinerogastado < dinerodisponible)
            {
                cli[option - 1].ClientBuy(dinerogastado);
                Console.WriteLine("Compra realizada, al cliente le costo $" + dinerogastado);
                compras.Add(newlista);
            }
            else
            {
                Console.WriteLine("La compra no se pudo realizar, no tiene dinero suficiente");
            }
        }