예제 #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("--Cotizador Expres--");
            String linea;
            int    contador = 1;
            bool   salida   = true;

            Direccion direccion = new Direccion();

            direccion.Calle      = "Aristides";
            direccion.Numeracion = 123;
            Tienda tienda = new Tienda();

            tienda.Nombre    = "Nike";
            tienda.direccion = direccion;
            Vendedor vendedor = new Vendedor(1, "Carla", "Bruno");

            vendedor.cotizaciones = new List <Cotizacion>();

            Console.WriteLine($"Nombre tienda: {tienda.Nombre}");
            Console.WriteLine($"Direccion tienda, Calle: {tienda.direccion.Calle} - Numeracion: {tienda.direccion.Calle}");


            while (salida)
            {
                bool premium = true;
                Console.WriteLine("Para prenda premium ingrese true, si no ingrese false ");
                linea = Console.ReadLine();
                try
                {
                    premium = Convert.ToBoolean(linea);
                }
                catch (Exception)
                {
                    Console.WriteLine(" Dato mal ingresado ");
                    continue;
                }

                Prenda prenda1;
                Console.WriteLine("Para camisa ingrese 0, para pantalon ingrese 1");
                linea = Console.ReadLine();

                if (linea == "0")
                {
                    Console.WriteLine("Para manga corta ingrese true, Para manga larga ingrese false ");
                    linea = Console.ReadLine();
                    bool mangaCorta = true;
                    try
                    {
                        mangaCorta = Convert.ToBoolean(linea);
                    }
                    catch (Exception)
                    {
                        Console.WriteLine(" Dato mal ingresado ");
                        continue;
                    }

                    Console.WriteLine("Para cuello Mao ingrese true, Para cuelloMao normal ingrese false ");
                    linea = Console.ReadLine();
                    bool cuelloMao = true;
                    try
                    {
                        cuelloMao = Convert.ToBoolean(linea);
                    }
                    catch (Exception)
                    {
                        Console.WriteLine(" Dato mal ingresado ");
                        continue;
                    }

                    Console.WriteLine($"Precio de camisa: {50} ");
                    prenda1 = new Camisa(mangaCorta, cuelloMao, 50, premium);
                }
                else if (linea == "1")
                {
                    Console.WriteLine("Para chupin ingrese true, si no ingrese false ");
                    linea = Console.ReadLine();
                    bool chupin = true;
                    try
                    {
                        chupin = Convert.ToBoolean(linea);
                    }
                    catch (Exception)
                    {
                        Console.WriteLine(" Dato mal ingresado ");
                        continue;
                    }
                    Console.WriteLine($"Precio de pantalon: {100} ");
                    prenda1 = new Pantalon(chupin, 100, premium);
                }
                else
                {
                    Console.WriteLine(" Dato mal ingresado ");
                    continue;
                }

                Console.WriteLine("Ingrese cantidad");
                linea = Console.ReadLine();
                int        cant        = Convert.ToInt32(linea);
                Cotizacion cotizacion1 = new Cotizacion(contador, vendedor.Id, DateTime.Now, prenda1, cant);

                cotizacion1.realizaCotizacion();

                if (cotizacion1.ResultadoCotiazacion != 0)
                {
                    Console.WriteLine($"Cotizacion: {cotizacion1.ResultadoCotiazacion} \n Prenda: {prenda1.GetType().Name}  ");
                    vendedor.cotizaciones.Add(cotizacion1);
                    contador++;
                }
                else
                {
                    Console.WriteLine("La cotizacion no se pudo realizar.");
                }

                Console.WriteLine(" Continuar y/n ");
                linea = Console.ReadLine();
                if (linea == "n")
                {
                    salida = false;
                }
            }

            Console.WriteLine($"-- Historial cotizaciones vendedor {vendedor.Nombre} -- ");
            foreach (var cotizacionesVendedor in vendedor.cotizaciones)
            {
                Console.WriteLine($"Id: {cotizacionesVendedor.Id}");
                Console.WriteLine($"Fecha: {cotizacionesVendedor.FechaHora }");
                Console.WriteLine($"Prenda: {cotizacionesVendedor.prenda.GetType().Name }");
                Console.WriteLine($"Cantidad: { cotizacionesVendedor.Cantidad }");
                Console.WriteLine($"Cotizacion:  { cotizacionesVendedor.ResultadoCotiazacion }");
            }

            Console.ReadLine();
        }
예제 #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);
        }
예제 #3
0
 public static void ImprimirCotizacion(Cotizacion cotizacion)
 {
     Console.WriteLine("Simulacion de impresion de Cotizacion");
 }