public static TipoIndumentaria GetTipoIndumentaria(int tipo, string origen, double porcentaje) { TipoIndumentaria tipoIndumentaria = null; switch (tipo) { case 1: tipoIndumentaria = new IndumentariaCasual(origen, porcentaje); break; case 2: tipoIndumentaria = new IndumentariaDeportiva(origen, porcentaje); break; case 3: tipoIndumentaria = new IndumentariaFormal(origen, porcentaje); break; default: break; } return(tipoIndumentaria); }
static void Main(string[] args) { TiendaRopa tienda = new TiendaRopa(); bool continuar = true; int opcion; string menu = "Ingrese: \n1) Listar Indumentarias \n2) Agregar Indumentaria \n3) Modificar Indumentaria \n4) Eliminar Indumentaria \n5) Listar Ordenes \n6) Ingresar Orden \n7) Devolver Orden \n8) Salir"; Console.WriteLine("Bienvenido"); do { Console.WriteLine(menu); opcion = Validacion.PedirEntero(Console.ReadLine()); switch (opcion) { case 1: foreach (Indumentaria item in tienda.Listar()) { item.GetDetalle(); } break; case 2: TipoIndumentaria t_indumentaria; do { string origen = Validacion.PedirString("Ingrese origen"); double porcentaje_algodon = Validacion.PedirDouble("Ingrese porcentaje de algodon"); int tipo = Validacion.PedirEntero("Ingrese tipo de indumentaria: \n1) Deportiva \n2) Casual \n3) Formal"); switch (opcion) { case 1: t_indumentaria = new IndumentariaDeportiva(origen, porcentaje_algodon); continuar = false; break; case 2: t_indumentaria = new IndumentariaCasual(origen, porcentaje_algodon); continuar = false; break; case 3: t_indumentaria = new IndumentariaFormal(origen, porcentaje_algodon); continuar = false; break; default: Console.WriteLine(""); break; } } while (continuar); continuar = true; do { string talle; int stock = Validacion.PedirEntero("Ingrese el stock"); do { talle = Validacion.PedirString("Ingrese talle: L, M o S"); if (talle.ToLower() == "l" && talle.ToLower() == "m" && talle.ToLower() == "s") { continuar = false; } else { continuar = true; Console.WriteLine("Opcion Incorrecta"); } } while (continuar); continuar = true; double precio = Validacion.PedirDouble("Ingrese el precio"); opcion = Validacion.PedirEntero("Ingrese: \n1) Camisa \n2) Pantalon"); switch (opcion) { case 1: bool estampado = Validacion.PedirBool("Tiene estampado?"); string tipo_manga = Validacion.PedirString("Ingresar tipo manga"); tienda.Agregar(new Camisa(tipo_manga, estampado, stock, talle, precio, t_indumentaria)); break; case 2: string material = Validacion.PedirString("Ingrese material"); bool bolsillos = Validacion.PedirBool("Tiene bolsillos?"); tienda.Agregar(new Pantalon(material, bolsillos, stock, talle, precio, t_indumentaria)); break; default: Console.WriteLine("Opicon Incorrecta"); break; } } while (continuar); continuar = true; Console.WriteLine("Prenda agregada..."); break; case 8: continuar = false; break; default: Console.WriteLine("Opcion Incorrecta"); break; } } while (continuar); Console.WriteLine("Hasta luego!"); }
static void AgregarIndumentaria(TiendaRopa T) { try { //PIDO DATOS AL USUARIO string _STRtipoindumentaria; int _tipoindumentaria = 0; bool flag1 = false; do { _STRtipoindumentaria = ConsolaHelper.PedirTipoIndumentaria(); flag1 = Validaciones.ValidarTipoIndumentaria(_STRtipoindumentaria, ref _tipoindumentaria); } while (!flag1); string _STRmodelo; int _modelo = 0; bool flag2 = false; do { _STRmodelo = ConsolaHelper.PedirModelo(); flag2 = Validaciones.ValidarModelo(_STRmodelo, ref _modelo); } while (!flag2); string _talle; bool flag3 = false; do { _talle = ConsolaHelper.PedirTalle(); flag3 = Validaciones.ValidarTalle(_talle); } while (!flag3); string _strPrecio; double _precio = 0; bool _flag4; do { _strPrecio = ConsolaHelper.PedirPrecio(); _flag4 = Validaciones.ValidarPrecio(_strPrecio, ref _precio); } while (!_flag4); TipoIndumentaria Tipo = null; // es una clase abstracta, no se puede instanciar switch (_tipoindumentaria) { case 1: { IndumentariaCasual Casual = new IndumentariaCasual(_tipoindumentaria); Tipo = Casual; break; } case 2: { IndumentariaDeportiva Deportiva = new IndumentariaDeportiva(_tipoindumentaria); Tipo = Deportiva; break; } case 3: { IndumentariaFormal Formal = new IndumentariaFormal(_tipoindumentaria); Tipo = Formal; break; } } Indumentaria Aux = null; // es una clase abstracta, no se puede instanciar if (_modelo == 1) { Aux = new Camisa(T.GetProximoCodigoIndum(), _talle, _precio, Tipo); } else if (_modelo == 2) { Aux = new Pantalon(T.GetProximoCodigoIndum(), _talle, _precio, Tipo); } T.AgregarIndumentaria(Aux); ConsolaHelper.MostrarMensaje("Indumentaria agregada con exito"); ConsolaHelper.MostrarMensaje(Aux.ToString()); } catch (Exception e) { ConsolaHelper.MostrarMensaje(e.Message); } }