public void EjecutarMenuUsuario(Usuario usuarioSesion, GestionComercio gestionComercio, GestionUsuarios gestionUsuarios) { int opcionTemp = -1; while (opcionTemp < 6) { MostrarMenuUsuarios(); opcionTemp = ElegirOpcionUsuario(); EjecutarOpcionUsuario(opcionTemp, gestionComercio, gestionUsuarios, usuarioSesion); } }
public void EjecutarMenuVendedor(Vendedor vendedorSesion, GestionComercio gestionComercio, GestionVendedores gestionVendedores) { int opcionTemp = -1; do { MostrarMenuVendedor(vendedorSesion); opcionTemp = ElegirOpcionVendedor(); EjecutarOpcionVendedor(opcionTemp, vendedorSesion, gestionComercio, gestionVendedores); }while(opcionTemp < 4); Console.WriteLine("Se cerro la sesion del vendedor"); Console.ReadKey(); }
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; } }
public void EjecutarOpcionUsuario(int opcion, GestionComercio gestionComercio, GestionUsuarios gestionUsuarios, Usuario usuarioSesion) { switch (opcion) { case 1: Console.WriteLine("TECNOLOGIA"); Console.WriteLine("1-Filtrar Ordenadores"); Console.WriteLine("2-Filtrar Moviles"); Console.WriteLine("3-Filtrar Videoconsolas"); bool opcionTecnologiaIsInt = int.TryParse(Console.ReadLine(), out int opcionTecnologia); if (opcionTecnologiaIsInt) { switch (opcionTecnologia) { case 1: foreach (Producto producto in gestionComercio.Almacen.AlmacenProductos) { if (producto is Ordenador) { Console.WriteLine(producto); } } break; case 2: Console.Write("Minimas pulgadas de pantalla:"); float.TryParse(Console.ReadLine(), out float pantalla); foreach (Producto producto in gestionComercio.Almacen.AlmacenProductos) { if (producto is Movil) { Movil movilFilto = (Movil)producto; if (movilFilto.Pantalla > pantalla) { Console.WriteLine(movilFilto); } } } break; case 3: foreach (Producto producto in gestionComercio.Almacen.AlmacenProductos) { if (producto is VideoConsola) { Console.WriteLine(producto); } } break; } } Console.WriteLine("Escriba el id del producto que quieres añadir a tu carrito."); Console.Write("Id producto:"); bool idProductoTecnologiaCarritoIsInt = int.TryParse(Console.ReadLine(), out int idProductoTecnolgiaCarrito); if (idProductoTecnologiaCarritoIsInt && gestionComercio.ExisteProductoId(idProductoTecnolgiaCarrito)) { usuarioSesion.CarritoCompra.CarritoCompra.Add(gestionComercio.GetProductoId(idProductoTecnolgiaCarrito)); if (gestionComercio.GetProductoId(idProductoTecnolgiaCarrito).Stock > 0) { gestionComercio.GetProductoId(idProductoTecnolgiaCarrito).Stock--; usuarioSesion.CarritoCompra.CarritoCompra.Add(gestionComercio.GetProductoId(idProductoTecnolgiaCarrito)); } else { Console.WriteLine("No queda stock"); } } else { Console.WriteLine("Id de producto erróneo"); } break; case 2: Console.WriteLine("MODA"); Console.WriteLine("Moda"); Console.WriteLine("1-Filtrar Calzado"); Console.WriteLine("2-Filtrar Ropa"); Console.WriteLine("3-Filtrar Joyeria"); Console.WriteLine("3-Filtrar Bolsos"); bool opcionModaIsInt = int.TryParse(Console.ReadLine(), out int opcionModa); if (opcionModaIsInt) { switch (opcionModa) { case 1: foreach (Producto producto in gestionComercio.Almacen.AlmacenProductos) { if (producto is Calzado) { Console.WriteLine(producto); } } break; case 2: Console.Write("Minimas pulgadas de pantalla:"); string tipo = Console.ReadLine(); foreach (Producto producto in gestionComercio.Almacen.AlmacenProductos) { if (producto is Ropa) { Ropa ropaFiltro = (Ropa)producto; if (ropaFiltro.Tipo.Equals(tipo)) { Console.WriteLine(ropaFiltro); } } } break; case 3: foreach (Producto producto in gestionComercio.Almacen.AlmacenProductos) { if (producto is Joyeria) { Console.WriteLine(producto); } } break; case 4: foreach (Producto producto in gestionComercio.Almacen.AlmacenProductos) { if (producto is Bolso) { Console.WriteLine(producto); } } break; } } Console.WriteLine("Escriba el id del producto que quieres añadir a tu carrito."); Console.Write("Id producto:"); bool idProductoModaCarritoIsInt = int.TryParse(Console.ReadLine(), out int idProductoModaCarrito); if (idProductoModaCarritoIsInt && gestionComercio.ExisteProductoId(idProductoModaCarrito)) { usuarioSesion.CarritoCompra.CarritoCompra.Add(gestionComercio.GetProductoId(idProductoModaCarrito)); if (gestionComercio.GetProductoId(idProductoModaCarrito).Stock > 0) { gestionComercio.GetProductoId(idProductoModaCarrito).Stock--; usuarioSesion.CarritoCompra.CarritoCompra.Add(gestionComercio.GetProductoId(idProductoModaCarrito)); } else { Console.WriteLine("No queda stock"); } } else { Console.WriteLine("Id de producto erróneo"); } break; case 3: Console.WriteLine("MULTIMEDIA"); Console.WriteLine("1-Musica"); Console.WriteLine("2-Peliculas o Series"); Console.WriteLine("3-Videojuegos"); bool opcionMultimediaIsInt = int.TryParse(Console.ReadLine(), out int opcionMultimedia); if (opcionMultimediaIsInt) { switch (opcionMultimedia) { case 1: Console.Write("Artista:"); string artista = Console.ReadLine(); foreach (Producto producto in gestionComercio.Almacen.AlmacenProductos) { if (producto is Musica) { Musica musicaFiltro = (Musica)producto; if (musicaFiltro.Artista.Equals(artista)) { Console.WriteLine(musicaFiltro); } } } break; case 2: Console.Write("Edad recomendada:"); int.TryParse(Console.ReadLine(), out int edadRecomendada); foreach (Producto producto in gestionComercio.Almacen.AlmacenProductos) { if (producto is Pelicula) { Pelicula peliculaFilto = (Pelicula)producto; if (peliculaFilto.EdadRecomendad > edadRecomendada) { Console.WriteLine(peliculaFilto); } } } break; case 3: Console.Write("Genero:"); string genero = Console.ReadLine(); Console.Write("Plataforma:"); string plataforma = Console.ReadLine(); foreach (Producto producto in gestionComercio.Almacen.AlmacenProductos) { if (producto is VideosJuego) { VideosJuego videoJuego = (VideosJuego)producto; if (videoJuego.Plataforma.Equals(plataforma) && videoJuego.Genero.Equals(genero)) { Console.WriteLine(videoJuego); } } } break; } } Console.WriteLine("Escriba el id del producto que quieres añadir a tu carrito."); Console.Write("Id producto:"); bool idProductoMultimediaCarritoIsInt = int.TryParse(Console.ReadLine(), out int idProductoMultimediaCarrito); if (idProductoMultimediaCarritoIsInt && gestionComercio.ExisteProductoId(idProductoMultimediaCarrito)) { usuarioSesion.CarritoCompra.CarritoCompra.Add(gestionComercio.GetProductoId(idProductoMultimediaCarrito)); if (gestionComercio.GetProductoId(idProductoMultimediaCarrito).Stock > 0) { gestionComercio.GetProductoId(idProductoMultimediaCarrito).Stock--; usuarioSesion.CarritoCompra.CarritoCompra.Add(gestionComercio.GetProductoId(idProductoMultimediaCarrito)); } else { Console.WriteLine("No queda stock"); } } else { Console.WriteLine("Id de producto erróneo"); } Console.ReadKey(); break; case 4: Console.WriteLine("CUENTA"); Console.WriteLine("1-Saldo"); Console.WriteLine("2-Configuracion"); bool opcionCuentaIsInt = int.TryParse(Console.ReadLine(), out int opcionCuenta); if (opcionCuentaIsInt) { switch (opcionCuenta) { case 1: Console.WriteLine("SALDO"); Console.WriteLine("1-Consultar saldo"); Console.WriteLine("2-Ingresar salgo"); bool opcionSaldoIsInt = int.TryParse(Console.ReadLine(), out int opcionSaldo); if (opcionCuentaIsInt) { switch (opcionSaldo) { case 1: Console.Write($"Saldo de la cuenta: {usuarioSesion.Saldo}"); Console.ReadKey(); break; case 2: Console.WriteLine("Ingresar saldo"); Console.Write("Ingrese la cantidad a ingresar:"); bool saldoIsFloat = float.TryParse(Console.ReadLine(), out float saldo); if (saldoIsFloat) { usuarioSesion.Saldo += saldo; } Console.ReadKey(); break; } } break; case 2: Console.WriteLine("Configuracion cuenta de usuario"); Console.WriteLine("1-Nombre"); Console.WriteLine("2-Contraseña"); Console.Write("Elija una opcion:"); bool opcionDatosUSuarioIsInt = int.TryParse(Console.ReadLine(), out int opcionDatosUsuario); if (opcionDatosUSuarioIsInt && opcionDatosUsuario > 0 && opcionDatosUsuario < 3) { switch (opcionDatosUsuario) { case 1: Console.Write("Escriba el nuevo nombre:"); string nuevoNombre = Console.ReadLine(); gestionUsuarios.ModificarUsuario(usuarioSesion, nuevoNombre, "nombre"); break; case 2: Console.Write("Escriba la nueva contraseña:"); string nuevaPass = Console.ReadLine(); gestionUsuarios.ModificarUsuario(usuarioSesion, nuevaPass, "contraseña"); break; } } Console.ReadKey(); break; } } break; case 5: Console.WriteLine("CARRITO"); if (usuarioSesion.CarritoCompra.CarritoCompra.Count > 0) { foreach (Producto productoCarrito in usuarioSesion.CarritoCompra.CarritoCompra) { Console.WriteLine(productoCarrito); } Console.WriteLine("1-Hacer pedido del carrito de compra"); Console.WriteLine("2-Eliminar producto"); Console.WriteLine("3-Eliminar carrito"); bool opcionCarritoIsInt = int.TryParse(Console.ReadLine(), out int opcionCarrito); if (opcionCarritoIsInt) { switch (opcionCarrito) { case 1: Console.WriteLine("Hacer pedido"); float sumaProductos = 0; foreach (Producto producto in usuarioSesion.CarritoCompra.CarritoCompra) { sumaProductos += producto.Precio; // } if (sumaProductos <= usuarioSesion.Saldo) { foreach (Producto producto in usuarioSesion.CarritoCompra.CarritoCompra) { gestionComercio.GetProductoId(producto.IdProducto).Stock--; } usuarioSesion.Saldo -= sumaProductos; Console.WriteLine($"Pedido realizado."); usuarioSesion.CarritoCompra.CarritoCompra.Clear(); } else { Console.WriteLine("No tienes suficiente saldo."); } Console.ReadKey(); break; case 2: Console.WriteLine("Eliminar producto del carrito"); foreach (Producto producto in usuarioSesion.CarritoCompra.CarritoCompra) { Console.WriteLine(producto); } Console.WriteLine("Introduzca el id del producto que quiere eliminar de su carrito"); bool idProductoEliminarIsInt = int.TryParse(Console.ReadLine(), out int idProductoEliminar); foreach (Producto producto in usuarioSesion.CarritoCompra.CarritoCompra) { if (producto.IdProducto == idProductoEliminar) { usuarioSesion.CarritoCompra.CarritoCompra.Remove(producto); } } Console.ReadKey(); break; case 3: Console.WriteLine("Eliminando el carrito completo"); usuarioSesion.CarritoCompra.CarritoCompra.Clear(); Console.WriteLine("Carrito limpio"); Console.ReadKey(); break; } } } else { Console.WriteLine("No tienes ningun producto en el carrito"); } Console.ReadKey(); break; case 6: Console.WriteLine("Eliminar usuario"); Console.Write("Escriba su nombre de usuario si está de acuerdo en eliminar su cuenta: "); string confirmacionEliminacion = Console.ReadLine(); if (usuarioSesion.Nombre.Equals(confirmacionEliminacion)) { if (gestionUsuarios.EliminarUsuario(usuarioSesion)) { Console.WriteLine("Usuario Eliminado correctamente"); Console.ReadKey(); } else { Console.WriteLine("Error en la eliminacion del usuario"); } ; } else { Console.WriteLine("No he escrito correctamente su nombre. Su cuenta no se ha elimnado"); } Console.ReadKey(); break; case 7: Console.WriteLine("Se cerró la sesion de usuario."); Console.ReadKey(); break; } }