Beispiel #1
0
        public void EjecutarOpcionVendedor(int opcion, Vendedor vendedorSesion, GestionComercio gestionComercio, GestionVendedores gestionVendedores)
        {
            switch (opcion)
            {
            case 1:
                Console.WriteLine("Agregar producto");
                InfoProducto infoproducto;
                DateTime     fechaAlta = DateTime.Today;


                Console.WriteLine("Elija el tipo del producto:\n " +
                                  "1-Tecnología\n" +
                                  "2-Moda\n" +
                                  "3-Multimedia\n");


                bool opcionAgregarProductoIsInt = int.TryParse(Console.ReadLine(), out int opcionAgregarProducto);
                if (opcionAgregarProductoIsInt)
                {
                    switch (opcionAgregarProducto)
                    {
                    case 1:

                        Tecnologia productoTecnologia;
                        Console.WriteLine("Elija el tipo del producto de Tecnologia:\n " +
                                          "1-Ordenador\n" +
                                          "2-Videoconsola\n" +
                                          "3-Tablet o smartphone\n");

                        bool opcionTecnologiaIsInt = int.TryParse(Console.ReadLine(), out int opcionTecnologia);

                        if (opcionTecnologiaIsInt)
                        {
                            infoproducto       = RecogerDatosGenericos(vendedorSesion);
                            productoTecnologia = RecogerDatosTecnologia(infoproducto);
                            switch (opcionTecnologia)
                            {
                            case 1:
                                Console.WriteLine("Ordenador:");

                                Console.Write("Placa Base:");
                                string placaBase = Console.ReadLine();

                                Console.Write("Tipo de ordenador(Portatil,sobremesa,surface...):");
                                string tipoOrdenador = Console.ReadLine();

                                Ordenador nuevoOrdenador = new Ordenador(productoTecnologia.Nombre, productoTecnologia.Marca, productoTecnologia.Precio, productoTecnologia.vendedor, productoTecnologia.Descripcion, productoTecnologia.FechaPuestaVenta, productoTecnologia.CodigoDescuento, productoTecnologia.Stock, productoTecnologia.Color, productoTecnologia.Procesador, productoTecnologia.SO, productoTecnologia.Modelo, productoTecnologia.FechaLanzamiento, placaBase, tipoOrdenador);
                                gestionComercio.AgregarProductoAlmacen(nuevoOrdenador);

                                Console.ReadKey();
                                break;

                            case 2:
                                Console.WriteLine("Videoconsola:");

                                VideoConsola nuevoVideoConsola = new VideoConsola(productoTecnologia.Nombre, productoTecnologia.Marca, productoTecnologia.Precio, productoTecnologia.vendedor, productoTecnologia.Descripcion, productoTecnologia.FechaPuestaVenta, productoTecnologia.CodigoDescuento, productoTecnologia.Stock, productoTecnologia.Color, productoTecnologia.Procesador, productoTecnologia.SO, productoTecnologia.Modelo, productoTecnologia.FechaLanzamiento);
                                gestionComercio.AgregarProductoAlmacen(nuevoVideoConsola);
                                break;

                            case 3:
                                Console.WriteLine("Movil o tablet:");

                                Console.Write("Bateria:");
                                int.TryParse(Console.ReadLine(), out int bateria);

                                Console.Write("Pantalla:");
                                float.TryParse(Console.ReadLine(), out float pantalla);

                                Movil nuevoMovil = new Movil(productoTecnologia.Nombre, productoTecnologia.Marca, productoTecnologia.Precio, productoTecnologia.vendedor, productoTecnologia.Descripcion, productoTecnologia.FechaPuestaVenta, productoTecnologia.CodigoDescuento, productoTecnologia.Stock, productoTecnologia.Color, productoTecnologia.Procesador, productoTecnologia.SO, productoTecnologia.Modelo, productoTecnologia.FechaLanzamiento, pantalla, bateria);

                                gestionComercio.AgregarProductoAlmacen(nuevoMovil);
                                Console.ReadKey();
                                break;
                            }
                        }

                        break;

                    case 2:

                        Moda productoModa;
                        Console.WriteLine("Elija el tipo del producto de Tecnologia:\n " +
                                          "1-Ropa\n" +
                                          "2-Calzado\n" +
                                          "3-Bolso\n" +
                                          "4-Joyeria\n");
                        bool opcionModaIsInt = int.TryParse(Console.ReadLine(), out int opcionModa);
                        if (opcionModaIsInt)
                        {
                            infoproducto = RecogerDatosGenericos(vendedorSesion);
                            productoModa = RecogerDatosModa(infoproducto);
                            switch (opcionModa)
                            {
                            case 1:
                                Console.WriteLine("Ropa:");

                                Console.Write("Tipo:");
                                string tipoRopa = Console.ReadLine();

                                Console.Write("Talla:");
                                string tallaRopa = Console.ReadLine();


                                Ropa nuevaRopa = new Ropa(productoModa.Nombre, productoModa.Marca,
                                                          productoModa.Precio, productoModa.vendedor, productoModa.Descripcion,
                                                          productoModa.FechaPuestaVenta, productoModa.CodigoDescuento,
                                                          productoModa.Stock, productoModa.Color, productoModa.Material, productoModa.Sexo, tallaRopa, tipoRopa);
                                gestionComercio.AgregarProductoAlmacen(nuevaRopa);

                                Console.ReadKey();
                                break;

                            case 2:
                                Console.WriteLine("Calzado:");

                                Console.Write("Tipo:");
                                string tipoCalzado = Console.ReadLine();

                                Console.Write("Talla:");
                                int.TryParse(Console.ReadLine(), out int tallaCalzado);

                                Calzado nuevoCalzado = new Calzado(productoModa.Nombre, productoModa.Marca,
                                                                   productoModa.Precio, productoModa.vendedor, productoModa.Descripcion,
                                                                   productoModa.FechaPuestaVenta, productoModa.CodigoDescuento,
                                                                   productoModa.Stock, productoModa.Color, productoModa.Material, productoModa.Sexo, tallaCalzado, tipoCalzado);
                                gestionComercio.AgregarProductoAlmacen(nuevoCalzado);

                                Console.ReadKey();
                                break;

                            case 3:
                                Console.WriteLine("Bolso:");

                                Console.Write("Tipo:");
                                string tipoBolso = Console.ReadLine();

                                Bolso nuevoBolso = new Bolso(productoModa.Nombre, productoModa.Marca,
                                                             productoModa.Precio, productoModa.vendedor, productoModa.Descripcion,
                                                             productoModa.FechaPuestaVenta, productoModa.CodigoDescuento,
                                                             productoModa.Stock, productoModa.Color, productoModa.Material, productoModa.Sexo, tipoBolso);
                                gestionComercio.AgregarProductoAlmacen(nuevoBolso);

                                Console.ReadKey();
                                break;

                            case 4:
                                Console.WriteLine("Joyeria:");

                                Console.Write("Medida:");
                                string medidaJoya = Console.ReadLine();

                                Joyeria nuevaJoya = new Joyeria(productoModa.Nombre, productoModa.Marca,
                                                                productoModa.Precio, productoModa.vendedor, productoModa.Descripcion,
                                                                productoModa.FechaPuestaVenta, productoModa.CodigoDescuento,
                                                                productoModa.Stock, productoModa.Color, productoModa.Material, productoModa.Sexo, medidaJoya);
                                gestionComercio.AgregarProductoAlmacen(nuevaJoya);

                                Console.ReadKey();
                                break;
                            }
                        }


                        break;

                    case 3:

                        Multimedia productoMultimedia;
                        Console.WriteLine("Elija el tipo del producto de Tecnologia:\n " +
                                          "1-Música\n" +
                                          "2-Pelicula o Series\n" +
                                          "3-VideoJuegos\n");

                        bool opcionMultimediaIsInt = int.TryParse(Console.ReadLine(), out int opcionMultimedia);
                        if (opcionMultimediaIsInt)
                        {
                            infoproducto       = RecogerDatosGenericos(vendedorSesion);
                            productoMultimedia = RecogerDatosMultimedia(infoproducto);
                            switch (opcionMultimedia)
                            {
                            case 1:
                                Console.WriteLine("Musica:");

                                Console.Write("Tipo:");
                                string artista = Console.ReadLine();


                                Musica nuevaMusica = new Musica(productoMultimedia.Nombre, productoMultimedia.Marca,
                                                                productoMultimedia.Precio, productoMultimedia.vendedor, productoMultimedia.Descripcion,
                                                                productoMultimedia.FechaPuestaVenta, productoMultimedia.CodigoDescuento,
                                                                productoMultimedia.Stock, productoMultimedia.Genero, productoMultimedia.Formato, productoMultimedia.Idioma,
                                                                productoMultimedia.FechaLanzamiento, artista);
                                gestionComercio.AgregarProductoAlmacen(nuevaMusica);

                                Console.ReadKey();
                                break;

                            case 2:
                                Console.WriteLine("Pelicula y Series:");

                                //public string Actores { get; set; }
                                //public string Director { get; set; }
                                //public int EdadRecomendad { get; set; }
                                //public string Sinopsis { get; set; }

                                Console.Write("Actores:");
                                string actores = Console.ReadLine();

                                Console.Write("Director:");
                                string director = Console.ReadLine();

                                Console.Write("Edad Recomendada:");
                                int.TryParse(Console.ReadLine(), out int edadRecomendadaPelicula);

                                Console.Write("Sinopsis:");
                                string sinapsis = Console.ReadLine();

                                Pelicula nuevaPelicula = new Pelicula(productoMultimedia.Nombre, productoMultimedia.Marca,
                                                                      productoMultimedia.Precio, productoMultimedia.vendedor, productoMultimedia.Descripcion,
                                                                      productoMultimedia.FechaPuestaVenta, productoMultimedia.CodigoDescuento,
                                                                      productoMultimedia.Stock, productoMultimedia.Genero, productoMultimedia.Formato, productoMultimedia.Idioma,
                                                                      productoMultimedia.FechaLanzamiento, actores, director, edadRecomendadaPelicula, sinapsis);
                                gestionComercio.AgregarProductoAlmacen(nuevaPelicula);

                                Console.ReadKey();
                                break;

                            case 3:
                                Console.WriteLine("VideoJuegos:");

                                Console.Write("Edad Recomendada:");
                                int.TryParse(Console.ReadLine(), out int edadRecomendadaVideoJuego);

                                Console.Write("Plataforma:");
                                string plataforma = Console.ReadLine();

                                VideosJuego nuevoVideoJuego = new VideosJuego(productoMultimedia.Nombre, productoMultimedia.Marca,
                                                                              productoMultimedia.Precio, productoMultimedia.vendedor, productoMultimedia.Descripcion,
                                                                              productoMultimedia.FechaPuestaVenta, productoMultimedia.CodigoDescuento,
                                                                              productoMultimedia.Stock, productoMultimedia.Genero, productoMultimedia.Formato, productoMultimedia.Idioma,
                                                                              productoMultimedia.FechaLanzamiento, plataforma, edadRecomendadaVideoJuego);
                                gestionComercio.AgregarProductoAlmacen(nuevoVideoJuego);

                                Console.ReadKey();
                                break;
                            }
                        }

                        break;
                    }
                }

                break;

            case 2:

                Console.WriteLine("Eliminar producto");

                foreach (Producto producto in gestionComercio.FiltroProductoVendedor(vendedorSesion))
                {
                    Console.WriteLine(producto);
                }

                Console.WriteLine("Elija el id del producto que queire eliminar");
                bool opcionEliminarIsInt = int.TryParse(Console.ReadLine(), out int opcionEliminar);
                if (opcionEliminarIsInt)
                {
                    if (gestionComercio.EliminarProductoAlmacen(opcionEliminar))
                    {
                        Console.WriteLine("Producto Eliminado");
                    }
                    else
                    {
                        Console.WriteLine("Fallo al eliminar el producto");
                    }
                }

                Console.ReadKey();

                break;

            case 3:
                Console.WriteLine("Cambiar datos de vendedor");
                Console.WriteLine("1-Nombre");
                Console.WriteLine("2-Contraseña");
                Console.Write("Elija una opcion:");
                bool opcionDatosVendedorIsInt = int.TryParse(Console.ReadLine(), out int opcionDatosVendedor);
                if (opcionDatosVendedorIsInt && opcionDatosVendedor > 0 && opcionDatosVendedor < 3)
                {
                    switch (opcionDatosVendedor)
                    {
                    case 1:
                        Console.Write("Escriba el nuevo nombre:");
                        string nuevoNombre = Console.ReadLine();
                        gestionVendedores.ModificarVendedor(vendedorSesion, nuevoNombre, "nombre");

                        break;

                    case 2:
                        Console.Write("Escriba la nueva contraseña:");
                        string nuevaPass = Console.ReadLine();
                        gestionVendedores.ModificarVendedor(vendedorSesion, nuevaPass, "contraseña");

                        break;
                    }
                }

                Console.ReadKey();
                break;

            case 4:
                Console.WriteLine("Eliminar vendedor:");
                Console.WriteLine("Escriba su nombre de vendedor si está de acuerdo en eliminar su cuenta");
                string confirmacionEliminacion = Console.ReadLine();

                if (vendedorSesion.Nombre.Equals(confirmacionEliminacion))
                {
                    if (gestionVendedores.EliminarVendedor(vendedorSesion))
                    {
                        Console.WriteLine("Vendedor Eliminado correctamente");
                    }
                    else
                    {
                        Console.WriteLine("Error en la eliminacion del vendedor");
                    }
                    ;
                }
                else
                {
                    Console.WriteLine("No he escrito correctamente su nombre. Su cuenta no se ha elimnado");
                }

                Console.ReadKey();

                break;

            case 5:

                Console.WriteLine("Saliendo de la sesion de vendedor...");
                Thread.Sleep(4000);

                break;
            }
        }
        private void IniciarApp()
        {
            Vendedor vendedorInterno = new Vendedor("comercio", "Calle VendedorPrincipal", "1111");

            gestionVendedores.InsertarVendedor(vendedorInterno);

            Usuario usuarioInterno = new Usuario("victor", "Calle Usuario", "1111");

            gestionUsuarios.InsertarUsuario(usuarioInterno);

            Ordenador ordenadorInicial = new Ordenador("Pc sobremesa HP", "HP", 500.99f, vendedorInterno,
                                                       "Potente y silencioso ordenador de sobremesa", DateTime.Today, "DESCUENTO", 4, "Negro",
                                                       "Intel® Core™ i7-10700F", "Windows", "OMEN 25L GT11-0011ns", new DateTime(2021, 5, 1),
                                                       "HP Placa base PC Pro 3010 MT", "Sobremesa");

            GestionComercio.AgregarProductoAlmacen(ordenadorInicial);

            VideoConsola nuevoVideoConsola = new VideoConsola("PlayStation 5", "Sony", 699.99f, vendedorInterno,
                                                              "Consola de videojuegos 2021", DateTime.Today, "PLAY5", 100, "Blanca",
                                                              " AMD Zen 2 de 8 núcleos a 3.5 GHz", "PlayStation 5 system software", "Pro",
                                                              new DateTime(2020, 11, 12));

            GestionComercio.AgregarProductoAlmacen(nuevoVideoConsola);

            Movil nuevoMovil = new Movil("Smartphone Samsung S21 Blanco", "Samsung", 1300f, vendedorInterno,
                                         "Nuevo smartphone Samsung el mas potente del mercado", DateTime.Today, "S21", 10, "Blanco",
                                         "Qualcomm SM8350 Snapdragon 888", "Android 11", "Ultra 5G", new DateTime(2021, 1, 14), 6.2f, 4000);

            GestionComercio.AgregarProductoAlmacen(nuevoMovil);


            Ropa nuevaRopa = new Ropa("Pantalon vaquero", "productoModa.Marca", 25.50f, vendedorInterno,
                                      "Pantalón vaquero corte clásico", DateTime.Today, "VAQUEROCLASICO", 10, "Azul", "Vaquero", "H", "M",
                                      "Pantalon vaquero");

            GestionComercio.AgregarProductoAlmacen(nuevaRopa);

            Calzado nuevoCalzado = new Calzado("Bota alta", "GUESS", 50.50f, vendedorInterno, "Bota alta de vestir",
                                               DateTime.Today, "BOTAGUESS", 5, "Negro", "Cuero", "M", 40, "Bota");

            GestionComercio.AgregarProductoAlmacen(nuevoCalzado);

            Bolso nuevoBolso = new Bolso("Bolso de fiesta", "Dolce & Gabanna", 900.50f, vendedorInterno,
                                         "Bolso de fiesta pequeño",
                                         DateTime.Today, "BOLSOD&G", 10, "Leopardo", "Piel", "M", "Bolso");

            GestionComercio.AgregarProductoAlmacen(nuevoBolso);

            Joyeria nuevaJoya = new Joyeria("Anillo compromiso", "Gucci", 800f, vendedorInterno,
                                            "Anilllo de compromiso de alta calidad", DateTime.Today, "ANILLO", 2, "Plata", "Oro Blanco", "H", "18");

            GestionComercio.AgregarProductoAlmacen(nuevaJoya);


            Musica nuevaMusica = new Musica("Album Vértigo Pablo Alboran", "Pablo Alboran", 11.93f, vendedorInterno,
                                            "Ultimo albúm de Pablo Alboran 2021", DateTime.Today, "PABLOALBORAN", 10, "Latina", "MP3", "Español",
                                            new DateTime(2020, 9, 5), "Pabl Alboran");

            GestionComercio.AgregarProductoAlmacen(nuevaMusica);

            Pelicula nuevaPelicula = new Pelicula("Fast and Furious 9", "Universal Studios", 9f, vendedorInterno,
                                                  "Pelicula de acción y conduccion peligrosa", DateTime.Today, "F&F9", 1000, "Accion", "Blu-Ray",
                                                  "Español", new DateTime(2021, 4, 2),
                                                  "Vin Diesel,Michelle Rodriguez,Charlize Theron,Jordana Brewster,Tyrese Gibson,Chris Ludacris Bridges,Nathalie Emmanuel,John Cena,Sung Kang,Lucas Black,Helen Mirren,Don Omar",
                                                  "Justin Lin", 19,
                                                  "Instalados en su vida familiar, Dom (Vin Diesel) y Letty (Michelle Rodriguez) viven en el campo con Brian, el hijo de Dom. Pero los problemas siguen tocando la puerta a la familia: Jakob (John Cena), el hermano menor de Dom, se ha unido con Cipher (Charlize Theron) para causar estragos y cumplir un deseo de venganza por parte de Cipher tras de los sucesos de The Fate of the Furious. El equipo se reunirá una vez más para mantener a la familia unida y deshacerse de los problemas de una vez por todas.");

            GestionComercio.AgregarProductoAlmacen(nuevaPelicula);


            VideosJuego nuevoVideoJuego = new VideosJuego("Call of Duty: Black Ops II", "Activision", 10.50f,
                                                          vendedorInterno, "Juego de disparos en primera persona y modo Zombies", DateTime.Today, "BO2", 4,
                                                          "Shooter", "DVD", "Español", new DateTime(2012, 8, 12), "PS3", 18);

            GestionComercio.AgregarProductoAlmacen(nuevoVideoJuego);
        }