예제 #1
0
        public void IniciarMenu()
        {
            Console.WriteLine($"Bienvenido/a al Cotizador de {tienda.Nombre} - {tienda.Direccion}");
            Console.WriteLine($"Vendedor/a: {vendedor.Nombre} {vendedor.Apellido} - Codigo: {vendedor.CodigoVendedor}");
            int opcionPrincipal = 0;

            do
            {
                Console.WriteLine("\nIngrese el numero de opcion deseada\n 1.Cotizar\n 2.Imprimir historial de cotizaciones\n 3.Salir");
                String opcionPrincipalToParse = Console.ReadLine();
                try
                {
                    opcionPrincipal = int.Parse(opcionPrincipalToParse);
                    if (opcionPrincipal == 1)
                    {
                        this.ElegirPrenda();
                        this.Cotizar();
                    }
                    else if (opcionPrincipal == 2)
                    {
                        Impresora.ImprimirHistorial(vendedor.Historial);
                    }
                }
                catch
                {
                    this.AlertarOpcionIncorrecta();
                }
            } while (opcionPrincipal != 3);
        }
예제 #2
0
        private void Cotizar()
        {
            int   opcionCalidad    = 0;
            float precio           = 0f;
            bool  esCalidadPremium = false;
            int   cantidad         = 0;

            do
            {
                Console.WriteLine("\nElija la calidad de la prenda\n 1.Standard\n 2.Premium");
                String opcionCalidadToParse = Console.ReadLine();
                try
                {
                    opcionCalidad = int.Parse(opcionCalidadToParse);
                    if (opcionCalidad == 1)
                    {
                        esCalidadPremium = false;
                    }
                    else if (opcionCalidad == 2)
                    {
                        esCalidadPremium = true;
                    }
                }
                catch
                {
                    this.AlertarOpcionIncorrecta();
                }
            } while (opcionCalidad != 1 && opcionCalidad != 2);

            do
            {
                Console.WriteLine("\nIngrese el precio de la prenda:");
                String precioToParse = Console.ReadLine();
                try
                {
                    precio = float.Parse(precioToParse);
                }
                catch
                {
                    this.AlertarOpcionIncorrecta();
                }
            } while (precio <= 0);

            do
            {
                Console.WriteLine("\nIngrese la cantidad de prendas:");
                String cantidadToParse = Console.ReadLine();
                try
                {
                    cantidad = int.Parse(cantidadToParse);
                    if (cantidad > prendaElegida.UnidadesEnStock)
                    {
                        Console.WriteLine("\nNo hay suficiente cantidad en stock.");
                    }
                }
                catch
                {
                    this.AlertarOpcionIncorrecta();
                }
            } while (cantidad <= 0 || cantidad > prendaElegida.UnidadesEnStock);

            float valorPrenda = this.prendaElegida.CalcularPrecio(precio, esCalidadPremium);
            float valorTotal  = valorPrenda * cantidad;

            Cotizacion cotizacion = new Cotizacion(vendedor.Historial.Count + 1, DateTime.Now, vendedor.CodigoVendedor, this.prendaElegida, cantidad, valorTotal);

            vendedor.Historial.Add(cotizacion);

            Console.WriteLine($"\nEl total de la cotización es: ${valorTotal}");

            int opcionImprimir = 0;

            do
            {
                Console.WriteLine("\nSi desea imprimir la cotización ingrese 1. Para volver al menu principal ingrese 2.");
                String opcionImprimirToParse = Console.ReadLine();
                try
                {
                    opcionImprimir = int.Parse(opcionImprimirToParse);
                    if (opcionImprimir == 1)
                    {
                        Impresora.ImprimirCotizacion(cotizacion);
                    }
                }
                catch
                {
                    this.AlertarOpcionIncorrecta();
                }
            } while (opcionImprimir != 1 && opcionImprimir != 2);
        }