static void Main(string[] args)
        {
            string            nom, opcion, op;
            string            direc;
            int               rut;
            int               id;
            List <Arriendo>   arriendos       = new List <Arriendo>();
            List <Sucursal>   sucursales      = new List <Sucursal>();
            List <Cliente>    clientes        = new List <Cliente>();
            List <Accesorios> accesorios1     = new List <Accesorios>();
            List <string>     name_accesorios = new List <string> {
                "radios con bluetooth", "GPS, ruedas extra de repuesto", "cortinas para ventanas", "sillas para infantes"
            };

            foreach (string name in name_accesorios)
            {
                Random     rnd   = new Random();
                int        value = rnd.Next(0, 20);
                Accesorios acc   = new Accesorios(name, value);
                accesorios1.Add(acc);
            }
            List <string> name_vehiculos = new List <string> {
                "maquinaria", "camion", "bus", "acuatico", "auto", "moto"
            };



            while (true)
            {
                Console.BackgroundColor = ConsoleColor.DarkGreen;
                if (sucursales.Count == 0)
                {
                    List <Vehiculo> vehiculos1 = new List <Vehiculo>();
                    Console.WriteLine("NO existe  sucursal, agregue 1 ");
                    Console.WriteLine("Nombre sucursal:  ");
                    nom = Console.ReadLine();
                    Console.WriteLine("direccion sucursal:  ");
                    direc = Console.ReadLine();
                    Console.WriteLine("rut sucursal:  ");
                    rut = Int32.Parse(Console.ReadLine());
                    Sucursal s = new Sucursal(nom, direc, rut, vehiculos1);
                    sucursales.Add(s);
                }
                Console.ForegroundColor = ConsoleColor.Black;
                Console.WriteLine("MENU \n (1) agregar sucursal\n (2) registrar cliente\n (3) arrendar vehiculo\n (4) agregar vehiculo a la sucursal\n (5) devolver vehiculo\n (6)salir ");
                opcion = Console.ReadLine();
                Console.Clear();
                Console.ResetColor();
                if (opcion == "1")
                {
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.BackgroundColor = ConsoleColor.DarkRed;
                    List <Vehiculo> vehiculos = new List <Vehiculo>();
                    Console.WriteLine("Nombre sucursal:  ");
                    nom = Console.ReadLine();
                    Console.WriteLine("direccion sucursal:  ");
                    direc = Console.ReadLine();
                    Console.WriteLine("rut sucursal:  ");
                    rut = Int32.Parse(Console.ReadLine());
                    Sucursal s = new Sucursal(nom, direc, rut, vehiculos);
                    sucursales.Add(s);
                    Console.ResetColor();
                }
                else if (opcion == "2")
                {
                    Console.ForegroundColor = ConsoleColor.Magenta;
                    Console.BackgroundColor = ConsoleColor.DarkGreen;
                    Console.WriteLine("PRESIONE\n (1) persona\n (2) Empresa ");
                    op = Console.ReadLine();
                    if (op == "1")
                    {
                        Console.WriteLine("Nombre persona:  ");
                        nom = Console.ReadLine();
                        Console.WriteLine("id de la persona:  ");
                        id = Int32.Parse(Console.ReadLine());
                        Persona p = new Persona(true, nom, id);
                        clientes.Add(p);
                    }
                    else if (op == "2")
                    {
                        Console.WriteLine("Nombre de la empresa:  ");
                        nom = Console.ReadLine();
                        Console.WriteLine("id de la emperesa:  ");
                        id = Int32.Parse(Console.ReadLine());
                        Empresa p = new Empresa(true, nom, id);
                        clientes.Add(p);
                    }
                    Console.ResetColor();
                }
                else if (opcion == "3")
                {
                    if (clientes.Count == 0)
                    {
                        Console.WriteLine("no existe cliente");
                        continue;
                    }
                    else
                    {
                        Console.WriteLine("rut de persona o emepresa");
                        rut = Int32.Parse(Console.ReadLine());

                        foreach (Cliente c in clientes)
                        {
                            if (c.id == rut)
                            {
                                Console.WriteLine("ingrese direccion sucursal:");
                                direc = Console.ReadLine();
                                foreach (Sucursal s in sucursales)
                                {
                                    if (direc == s.direccion)
                                    {
                                        Console.WriteLine("ingrese vehiculo que quiera arrendar");
                                        string v;
                                        v = Console.ReadLine();
                                        Console.WriteLine("ingrese su patente");
                                        string patente;
                                        patente = Console.ReadLine();
                                        foreach (Vehiculo vehi in s.vehiculos)
                                        {
                                            if (vehi.patente == patente)
                                            {
                                                Console.ForegroundColor = ConsoleColor.Green;
                                                Console.BackgroundColor = ConsoleColor.Black;
                                                List <String> accesorios_comprados = new List <string>();
                                                Arriendo.Arrendar(s, vehi, c, sucursales, clientes, s.vehiculos, accesorios1);
                                                Arriendo arr = new Arriendo(s, vehi, c, accesorios_comprados);
                                                arriendos.Add(arr);
                                                s.vehiculos.Remove(vehi);
                                                Console.Beep();
                                                Console.WriteLine("Exito, arriendo creado");
                                                arr.Info(arr);
                                                Console.ResetColor();
                                            }
                                            else
                                            {
                                                Console.ForegroundColor = ConsoleColor.Red;
                                                Console.BackgroundColor = ConsoleColor.Black;
                                                Console.Beep();
                                                Console.Beep();
                                                Console.WriteLine("error al ingresar los datos");
                                                Console.ResetColor();
                                                break;
                                            }
                                        }
                                    }
                                    else
                                    {
                                        Console.ForegroundColor = ConsoleColor.Red;
                                        Console.BackgroundColor = ConsoleColor.Black;
                                        Console.Beep();
                                        Console.Beep();
                                        Console.WriteLine("error al ingresar los datos");
                                        Console.ResetColor();
                                        break;
                                    }
                                }
                            }
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.BackgroundColor = ConsoleColor.Black;
                                Console.Beep();
                                Console.Beep();
                                Console.WriteLine("rut no existente ");
                                Console.ResetColor();
                                break;
                            }
                        }
                    }
                }
                else if (opcion == "6")
                {
                    break;
                }
                else if (opcion == "4")
                {
                    Console.WriteLine("seleccione sucursal por id");
                    foreach (Sucursal s in sucursales)
                    {
                        Console.WriteLine("nombre:" + s.nombre + " id: " + s.rut);
                    }
                    id = Int32.Parse(Console.ReadLine());
                    foreach (Sucursal s in sucursales)
                    {
                        if (id == s.rut)
                        {
                            s.Agregarvehiculo(s.Crearvehiculo());
                        }
                    }
                }
                else if (opcion == "5")
                {
                    Console.ForegroundColor = ConsoleColor.DarkBlue;
                    Console.BackgroundColor = ConsoleColor.DarkYellow;
                    Console.WriteLine("que tipo de vehiculo quiere devolver?");
                    Console.WriteLine(name_vehiculos);
                    //lo devuelve por default a la primera sucursal de la lista
                    if (sucursales[0].devolvervehiculo().patente == "")
                    {
                        Console.WriteLine("no se puedo devolver vehiculo a la sucursal");
                    }
                    else
                    {
                        sucursales[0].vehiculos.Add(sucursales[0].devolvervehiculo());
                        Console.WriteLine("se a recibido tu vehiculo gracias por contratar este servicio");
                    }
                }
            }
        }
Example #2
0
        public static void Arrendar(Sucursal sucursal, Vehiculo vehiculo, Cliente cliente, List <Sucursal> sucursales, List <Cliente> clientes, List <Vehiculo> vehiculos, List <Accesorios> accesorios)
        {
            List <String> accesorios_comprados = new List <string>();

            foreach (Sucursal s in sucursales)
            {
                if (s.nombre == sucursal.nombre)
                {
                    foreach (Cliente c in clientes)
                    {
                        if (c.id == cliente.id)
                        {
                            foreach (Vehiculo v in sucursal.vehiculos)
                            {
                                if (v.nombre == vehiculo.nombre && v.patente == vehiculo.patente)
                                {
                                    Console.WriteLine("ingrese que tipo de vehiculo es");

                                    string tipo = Console.ReadLine();
                                    if (tipo == "auto")
                                    {
                                        Accesorios a = new Accesorios("DVD", 10);
                                        accesorios.Add(a);
                                        int opc;
                                        Console.WriteLine("desea agregar accesorios?\n (1) si\n (2) no\n");
                                        opc = Int32.Parse(Console.ReadLine());
                                        if (opc == 1)
                                        {
                                            Console.WriteLine("accesorios que pueda elegir");
                                            foreach (Accesorios a in accesorios)
                                            {
                                                Console.WriteLine(a.nombre + "\n");
                                            }
                                            int pp;
                                            Console.WriteLine("cuantos accesorios quieres?");
                                            pp = Int32.Parse(Console.ReadLine());
                                            for (int i = 0; i < pp; i++)
                                            {
                                                string accesorioacomprar;
                                                Console.WriteLine("escriba accesorio que quiere comprar");
                                                accesorioacomprar = Console.ReadLine();
                                                foreach (Accesorios a in accesorios)
                                                {
                                                    if (a.nombre == accesorioacomprar && a.stock != 0)
                                                    {
                                                        a.stock--;
                                                        Console.WriteLine("accesiorio agregado a la compra");
                                                        accesorios_comprados.Add(accesorioacomprar);
                                                    }
                                                    else
                                                    {
                                                        Console.WriteLine("no hay stock");
                                                    }
                                                }
                                            }
                                        }
                                    }
                                    else
                                    {
                                        int opc;
                                        Console.WriteLine("desea agregar accesorios?\n (1) si\n (2) no\n");
                                        opc = Int32.Parse(Console.ReadLine());
                                        if (opc == 1)
                                        {
                                            Console.WriteLine("accesorios que pueda elegir");
                                            foreach (Accesorios a in accesorios)
                                            {
                                                Console.WriteLine(a.nombre + "\n");
                                            }
                                            int pp;
                                            Console.WriteLine("cuantos accesorios quieres?");
                                            pp = Int32.Parse(Console.ReadLine());
                                            for (int i = 0; i < pp; i++)
                                            {
                                                string accesorioacomprar;
                                                Console.WriteLine("escriba accesorio que quiere comprar");
                                                accesorioacomprar = Console.ReadLine();
                                                foreach (Accesorios a in accesorios)
                                                {
                                                    if (a.nombre == accesorioacomprar && a.stock != 0)
                                                    {
                                                        a.stock--;
                                                        Console.WriteLine("accesiorio agregado a la compra");
                                                        accesorios_comprados.Add(accesorioacomprar);
                                                    }
                                                    else
                                                    {
                                                        Console.WriteLine("no hay stock");
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }