static void Main(string[] args)
        {
            Console.WriteLine("BIENVENIDO AL SUPERMERCADO");
            Supermercado super = new Supermercado();

            while (true)
            {
                Console.WriteLine("");
                Console.WriteLine("MENU PRINCIPAL");
                Console.WriteLine("");
                Console.WriteLine("ELIJA UNA DE LAS OPCIONES:");
                Console.WriteLine("");
                Console.WriteLine("1. PROGRAMA MANUAL{0}2. PROGRAMA AUTOMATICO (BONUS){0}X. SALIR", Environment.NewLine);
                Console.WriteLine("");

                string choice = Console.ReadLine();

                if (choice == "1")
                {
                    Random random = new Random();
                    super.ResetAll();
                    int Hora = 900;
                    int diap = random.Next(1, 29);
                    int mesp = random.Next(1, 13);
                    while (true)
                    {
                        Console.WriteLine("ELIJA UNA DE LAS SGTES OPCIONES:{0}1. CREAR CLIENTE{0}2. CREAR JEFE{0}3. CREAR CAJERO{0}4. CREAR SUPERVISOR{0}5. GENERAR PRODUCTOS{0}6. REALIZAR COMPRA CON CLIENTE ALEATORIO{0}7. VER PERSONAS Y PRODUCTOS{0}X. VOLVER AL MENU", Environment.NewLine);
                        Console.WriteLine("");
                        string choice2 = Console.ReadLine();
                        if (choice2 == "x" || choice2 == "X")
                        {
                            break;
                        }
                        else if (choice2 == "1")
                        {
                            Cliente cliente = new Cliente();
                            Console.WriteLine("ENTREGUE PRIMER NOMBRE DEL CLIENTE");
                            string Nombre = Console.ReadLine();
                            Console.WriteLine("ENTREGUE EL PRIMER APELLIDO");
                            string Apellido = Console.ReadLine();
                            Console.WriteLine("INGRESE SU NACIONALIDAD");
                            string Nacion = Console.ReadLine();
                            Console.WriteLine("INGRESE SU RUT");
                            string RUT = Console.ReadLine();
                            Console.WriteLine("INGRESE SU DIA DE NACIMIENTO (EJ.: 15):");
                            List <int> Fecha = new List <int>();
                            Fecha.Add(Int32.Parse(Console.ReadLine()));
                            Console.WriteLine("INGRESE SU MES DE NACIMIENTO (EJ.: JULIO = 7)");
                            Fecha.Add(Int32.Parse(Console.ReadLine()));
                            Console.WriteLine("INGRESE SU AÑO DE NACIMIENTO (EJ.: 1999)");
                            Fecha.Add(Int32.Parse(Console.ReadLine()));
                            cliente.setNombre(Nombre, Apellido, Nacion, RUT, Fecha);
                            cliente.setID(random.Next(10), random.Next(10), random.Next(10));
                            super.setClientes(cliente);
                            Console.WriteLine("");
                            Console.WriteLine("_________________________________________________________________");
                        }
                        else if (choice2 == "2")
                        {
                            Jefe jefe = new Jefe();
                            Console.WriteLine("ENTREGUE PRIMER NOMBRE DEL JEFE");
                            string Nombre = Console.ReadLine();
                            Console.WriteLine("ENTREGUE EL PRIMER APELLIDO");
                            string Apellido = Console.ReadLine();
                            Console.WriteLine("INGRESE SU NACIONALIDAD");
                            string Nacion = Console.ReadLine();
                            Console.WriteLine("INGRESE SU RUT");
                            string RUT = Console.ReadLine();
                            Console.WriteLine("INGRESE SU DIA DE NACIMIENTO (EJ.: 15):");
                            List <int> Fecha = new List <int>();
                            Fecha.Add(Int32.Parse(Console.ReadLine()));
                            Console.WriteLine("INGRESE SU MES DE NACIMIENTO (EJ.: JULIO = 7)");
                            Fecha.Add(Int32.Parse(Console.ReadLine()));
                            Console.WriteLine("INGRESE SU AÑO DE NACIMIENTO (EJ.: 1999)");
                            Fecha.Add(Int32.Parse(Console.ReadLine()));
                            jefe.setNombre(Nombre, Apellido, Nacion, RUT, Fecha);
                            jefe.SetSueldo("SueldoJefe");
                            jefe.SetHora("HorarioJefe");
                            super.setEmpleados(jefe);
                            Console.WriteLine("");
                            Console.WriteLine("_________________________________________________________________");
                        }
                        else if (choice2 == "3")
                        {
                            Auxiliar cajero = new Auxiliar();
                            Console.WriteLine("ENTREGUE PRIMER NOMBRE DEL CAJERO");
                            string Nombre = Console.ReadLine();
                            Console.WriteLine("ENTREGUE EL PRIMER APELLIDO");
                            string Apellido = Console.ReadLine();
                            Console.WriteLine("INGRESE SU NACIONALIDAD");
                            string Nacion = Console.ReadLine();
                            Console.WriteLine("INGRESE SU RUT");
                            string RUT = Console.ReadLine();
                            Console.WriteLine("INGRESE SU DIA DE NACIMIENTO (EJ.: 15):");
                            List <int> Fecha = new List <int>();
                            Fecha.Add(Int32.Parse(Console.ReadLine()));
                            Console.WriteLine("INGRESE SU MES DE NACIMIENTO (EJ.: JULIO = 7)");
                            Fecha.Add(Int32.Parse(Console.ReadLine()));
                            Console.WriteLine("INGRESE SU AÑO DE NACIMIENTO (EJ.: 1999)");
                            Fecha.Add(Int32.Parse(Console.ReadLine()));
                            cajero.setNombre(Nombre, Apellido, Nacion, RUT, Fecha);
                            cajero.SetSueldo("SueldoCajero");
                            cajero.SetHora("HorarioCajero");
                            super.setEmpleados(cajero);
                            super.setCajeros(cajero);
                            Console.WriteLine("");
                            Console.WriteLine("_________________________________________________________________");
                        }
                        else if (choice2 == "4")
                        {
                            Supervisor sup = new Supervisor();
                            Console.WriteLine("ENTREGUE PRIMER NOMBRE DEL SUPERVISOR");
                            string Nombre = Console.ReadLine();
                            Console.WriteLine("ENTREGUE EL PRIMER APELLIDO");
                            string Apellido = Console.ReadLine();
                            Console.WriteLine("INGRESE SU NACIONALIDAD");
                            string Nacion = Console.ReadLine();
                            Console.WriteLine("INGRESE SU RUT");
                            string RUT = Console.ReadLine();
                            Console.WriteLine("INGRESE SU DIA DE NACIMIENTO (EJ.: 15):");
                            List <int> Fecha = new List <int>();
                            Fecha.Add(Int32.Parse(Console.ReadLine()));
                            Console.WriteLine("INGRESE SU MES DE NACIMIENTO (EJ.: JULIO = 7)");
                            Fecha.Add(Int32.Parse(Console.ReadLine()));
                            Console.WriteLine("INGRESE SU AÑO DE NACIMIENTO (EJ.: 1999)");
                            Fecha.Add(Int32.Parse(Console.ReadLine()));
                            sup.setNombre(Nombre, Apellido, Nacion, RUT, Fecha);
                            sup.SetSueldo("SueldoCajero");
                            sup.SetHora("HorarioCajero");
                            super.setEmpleados(sup);
                            Console.WriteLine("");
                            Console.WriteLine("_________________________________________________________________");
                        }
                        else if (choice2 == "5")
                        {
                            Console.WriteLine("INGRESE EL NUMERO DE PRODUCTOS QUE QUIERE GENERAR:");
                            int num = Int32.Parse(Console.ReadLine());
                            for (int i = 0; i < num; i++)
                            {
                                int ale1 = random.Next(15);
                                int ale2 = random.Next(15);
                                int ale3 = random.Next(15);
                                int ale4 = random.Next(1, 5);

                                Producto producto = new Producto();
                                producto.generarProducto(ale1, ale2, ale3, ale4, diap, mesp);
                                super.setProductos(producto);
                            }
                        }
                        else if (choice2 == "6")
                        {
                            List <Cliente>  allClientes = super.GetAllClientes();
                            List <Auxiliar> allCajeros  = super.GetAllCajeros();
                            List <Producto> allProd     = super.GetAllProd();
                            if (allClientes.Count() == 0 || allCajeros.Count() == 0 || allProd.Count() == 0)
                            {
                                Console.WriteLine("ES IMPOSIBLE REALIZAR LA COMPRA PORQUE FALTAN CLIENTES Y/O CAJEROS Y/O PRODUCTOS");
                                Console.WriteLine("");
                                continue;
                            }
                            else
                            {
                                List <Producto> compras     = new List <Producto>();
                                int             randCliente = random.Next(allClientes.Count());
                                int             randCajero  = random.Next(allCajeros.Count());
                                Console.WriteLine("INGRESE EL NUMERO DE PRODUCTOS A COMPRAR");
                                int numCompras = Int32.Parse(Console.ReadLine());
                                for (int a = 0; a < numCompras; a++)
                                {
                                    int randCompra = random.Next(allProd.Count());
                                    int stock      = allProd[randCompra].checkStock();
                                    if (stock <= 0)
                                    {
                                        allProd.RemoveAt(randCompra);
                                    }
                                    else
                                    {
                                        allProd[randCompra].hacerCompra(allClientes[randCliente], allCajeros[randCajero], Hora);
                                        compras.Add(allProd[randCompra]);
                                        Console.WriteLine(compras[(compras.Count() - 1)].getDatosCompra());
                                        Console.WriteLine("");
                                    }
                                }
                                int cambioHora = random.Next(2);
                                if (cambioHora == 0)
                                {
                                    Hora += 100;
                                }
                                else
                                {
                                    Hora += 10;
                                }
                                Console.WriteLine("");
                                Console.WriteLine("_________________________________________________________________");
                            }
                        }
                        else if (choice2 == "7")
                        {
                            List <Cliente>  allClientes = super.GetAllClientes();
                            List <Auxiliar> allCajeros  = super.GetAllCajeros();
                            List <Producto> allProd     = super.GetAllProd();
                            if (allClientes.Count() == 0 || allCajeros.Count() == 0 || allProd.Count() == 0)
                            {
                                Console.WriteLine("ES IMPOSIBLE MOSTRAR LOS DATOS PORQUE FALTAN CLIENTES Y/O CAJEROS Y/O PRODUCTOS");
                                Console.WriteLine("");
                                continue;
                            }
                            else
                            {
                                Console.WriteLine("CLIENTES:");
                                Console.WriteLine("");
                                super.getClientes();
                                Console.WriteLine("CAJEROS:");
                                Console.WriteLine("");
                                super.getCajeros();
                                Console.WriteLine("PRODUCTOS:");
                                Console.WriteLine("");
                                super.GetProd();
                            }
                        }
                        else if (choice2 != "1" && choice2 != "2" && choice2 != "3" && choice2 != "4" && choice2 != "5" && choice2 != "6" && choice2 != "7" && choice2 != "x" && choice2 != "X")
                        {
                            Console.WriteLine("SU ELECCION ES INVALIDA! SELECCIONE OTRA.");
                            Console.WriteLine("");
                            Console.WriteLine("_________________________________________________________________");
                            continue;
                        }
                    }
                }
                else if (choice == "2")
                {
                    Console.WriteLine("PREPARANDO PROGRAMA AUTOMATICO...{0}CREANDO CLIENTES, STAFF Y PRODUCTOS...{0}REALIZANDO COMPRAS...", Environment.NewLine);
                    Random random = new Random();
                    super.ResetAll();
                    int Hora = 900;
                    int diap = random.Next(1, 29);
                    int mesp = random.Next(1, 13);
                    Console.WriteLine("_________________________________________________________________");
                    for (int i = 0; i < 17; i++)
                    {
                        int        ale1   = random.Next(15);
                        int        ale2   = random.Next(15);
                        int        ale3   = random.Next(15);
                        int        dia    = random.Next(1, 29);
                        int        mes    = random.Next(1, 13);
                        int        ano    = random.Next(1950, 2013);
                        List <int> numRUT = new List <int>();
                        for (int a = 0; a < 8; a++)
                        {
                            if (a == 0)
                            {
                                numRUT.Add(random.Next(0, 3));
                                if (numRUT[0] == 0)
                                {
                                    numRUT.Add(random.Next(5, 10));
                                }
                                else if (numRUT[0] == 1)
                                {
                                    numRUT.Add(random.Next(10));
                                }
                                else
                                {
                                    numRUT.Add(random.Next(6));
                                }
                            }
                            else
                            {
                                numRUT.Add(random.Next(10));
                            }
                        }
                        if (i < 15)
                        {
                            Cliente cliente = new Cliente();
                            cliente.setNomApeNac(ale1, ale2, ale3, dia, mes, ano);
                            cliente.setRUT(numRUT);
                            cliente.setID(ale1, ale2, ale3);
                            super.setClientes(cliente);
                        }
                        if (i == 15)
                        {
                            Jefe jefe = new Jefe();
                            jefe.setNomApeNac(ale1, ale2, ale3, dia, mes, ano);
                            jefe.setRUT(numRUT);
                            super.setEmpleados(jefe);
                        }
                        else if (i == 16)
                        {
                            Auxiliar cajero = new Auxiliar();
                            cajero.setNomApeNac(ale1, ale2, ale3, dia, mes, ano);
                            cajero.setRUT(numRUT);
                            super.setEmpleados(cajero);
                            super.setCajeros(cajero);
                        }
                    }


                    for (int i = 0; i < 5; i++)
                    {
                        int        aleatorio = random.Next(0, 2);
                        int        ale1      = random.Next(15);
                        int        ale2      = random.Next(15);
                        int        ale3      = random.Next(15);
                        int        dia       = random.Next(1, 29);
                        int        mes       = random.Next(1, 13);
                        int        ano       = random.Next(1950, 2013);
                        List <int> numRUT    = new List <int>();
                        for (int a = 0; a < 8; a++)
                        {
                            if (a == 0)
                            {
                                numRUT.Add(random.Next(0, 3));
                                if (numRUT[0] == 0)
                                {
                                    numRUT.Add(random.Next(5, 10));
                                }
                                else if (numRUT[0] == 1)
                                {
                                    numRUT.Add(random.Next(10));
                                }
                                else
                                {
                                    numRUT.Add(random.Next(6));
                                }
                            }
                            else
                            {
                                numRUT.Add(random.Next(10));
                            }
                        }
                        if (aleatorio == 0)
                        {
                            Auxiliar auxiliar = new Auxiliar();
                            auxiliar.setNomApeNac(ale1, ale2, ale3, dia, mes, ano);
                            auxiliar.setRUT(numRUT);
                            super.setEmpleados(auxiliar);
                            super.setCajeros(auxiliar);
                        }
                        else
                        {
                            Supervisor sup = new Supervisor();
                            sup.setNomApeNac(ale1, ale2, ale3, dia, mes, ano);
                            sup.setRUT(numRUT);
                            super.setEmpleados(sup);
                        }
                    }

                    for (int i = 0; i < 30; i++)
                    {
                        int ale1 = random.Next(15);
                        int ale2 = random.Next(15);
                        int ale3 = random.Next(15);
                        int ale4 = random.Next(1, 5);

                        Producto producto = new Producto();
                        producto.generarProducto(ale1, ale2, ale3, ale4, diap, mesp);
                        super.setProductos(producto);
                    }
                    List <Cliente>  allClientes  = super.GetAllClientes();
                    List <Auxiliar> allCajeros   = super.GetAllCajeros();
                    List <Producto> allProductos = super.GetAllProd();
                    for (int x = 0; x < 5; x++)
                    {
                        List <Producto> compras     = new List <Producto>();
                        int             randCliente = random.Next(allClientes.Count());
                        int             randCajero  = random.Next(allCajeros.Count());
                        int             numCompras  = random.Next(1, 5);
                        Console.WriteLine("COMPRA DEL DIA NRO.: " + (x + 1));
                        Console.WriteLine("");
                        Console.WriteLine("CLIENTE: " + allClientes[randCliente].getNomApNac() + ", ClientID: ", allClientes[randCliente].getID());
                        Console.WriteLine("");
                        Console.WriteLine("NUMERO DE OBJETOS COMPRADOS: " + numCompras);
                        Console.WriteLine("");
                        for (int a = 0; a < numCompras; a++)
                        {
                            int randCompra = random.Next(allProductos.Count());
                            int stock      = allProductos[randCompra].checkStock();
                            if (stock <= 0)
                            {
                                allProductos.RemoveAt(randCompra);
                            }
                            else if (stock > 0)
                            {
                                allProductos[randCompra].hacerCompra(allClientes[randCliente], allCajeros[randCajero], Hora);
                                compras.Add(allProductos[randCompra]);
                                Console.WriteLine(compras[(compras.Count() - 1)].getDatosCompra());
                                Console.WriteLine("");
                            }
                        }
                        int cambioHora = random.Next(2);
                        if (cambioHora == 0)
                        {
                            Hora += 100;
                        }
                        else
                        {
                            Hora += 10;
                        }
                        Console.WriteLine("");
                        Console.WriteLine("_________________________________________________________________");
                    }
                }
                else if (choice == "x" || choice == "X")
                {
                    Console.WriteLine("NOS VEMOS PRONTO!");
                    break;
                }
                else if (choice != "1" && choice != "2" && choice != "x" && choice != "X")
                {
                    Console.WriteLine("LA ELECCION ES INVALIDA");
                    continue;
                }
            }
        }
Exemplo n.º 2
0
 public void setCajeros(Auxiliar auxi)
 {
     allCajeros.Add(auxi);
 }