Exemplo n.º 1
0
        static void Main(string[] args)
        {
            int              opcionMenu = 0;
            TiendaRopa       tienda     = new TiendaRopa();
            int              codTipoIndumentaria;
            double           precio;
            string           talle;
            char             camisaOPantalon;
            string           tipoManga;
            string           material;
            bool             tieneEstampa;
            bool             tieneBolsillos;
            int              codIndumentaria;
            int              cantidad;
            int              codCliente;
            bool             ingresarOtraPrenda;
            TipoIndumentaria tipoIndumentaria;

            do
            {
                try {
                    DesplegarMenu();
                    opcionMenu = Validacion.PedirInt("opcion de menú");
                    switch (opcionMenu)
                    {
                    case 1:
                        try {
                            ListarIndumentariaDe(tienda);
                        }
                        catch (NoHayPrendasCargadasException ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                        break;

                    case 2:
                        // Agregar indumentaria
                        try
                        {
                            ListarTipoIndumentaria();
                            codTipoIndumentaria = Validacion.PedirInt("codigo de tipo de indumentaria");
                            tipoIndumentaria    = TipoIndumentariaFactory.GetTipoIndumentaria(codTipoIndumentaria);
                            precio          = Validacion.PedirDouble("precio de la indumentaria");
                            talle           = Validacion.PedirTalle();
                            camisaOPantalon = Validacion.PedirCamisaOPantalon();
                            switch (camisaOPantalon)
                            {
                            case 'C':
                                tieneEstampa = Validacion.PedirSON("si tiene estampa ingrese S, caso contrario N");
                                tipoManga    = Validacion.PedirString("tipo de manga");
                                tienda.AgregarCamisa(tipoIndumentaria, precio, talle, tieneEstampa, tipoManga);
                                break;

                            case 'P':
                                tieneBolsillos = Validacion.PedirSON("si tiene bolsillos ingrese S, caso contrario N");
                                material       = Validacion.PedirString("material");
                                tienda.AgregarPantalon(tipoIndumentaria, precio, talle, tieneBolsillos, material);
                                break;

                            default:
                                break;
                            }
                        }


                        catch (NoExisteTipoCategoriaException ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                        break;

                    case 5:
                        //Ingresar orden
                        try {
                            List <VentaItem> ventaItems = new List <VentaItem>();
                            ListarIndumentariaDe(tienda);
                            codCliente = Validacion.PedirInt("codigo del cliente");
                            do
                            {
                                codIndumentaria = Validacion.PedirInt("codigo de la indumentaria a comprar");
                                IndumentariaEnt ind = tienda.ExistePrenda(codIndumentaria);
                                cantidad = Validacion.PedirInt("cantidad del producto");
                                ventaItems.Add(new VentaItem(ind, cantidad));
                                ingresarOtraPrenda = Validacion.PedirSON("S para agregar otra prenda a la venta, N para terminar");
                            }while (ingresarOtraPrenda);
                            tienda.IngresarOrden(ventaItems, codCliente);
                        }
                        catch (NoHayPrendasCargadasException ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                        break;
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }while (opcionMenu != 10);
        }