コード例 #1
0
 public void retirarCliente(ClienteDirector cliente)
 {
     clientes.Remove(cliente);
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: eber-kachi/app-pizza
        static void Main(string[] args)
        {
            PrecioCalculator calculadora = new PrecioCalculator();
            ClienteDirector  cliente     = new ClienteDirector("Clara Luz", "Calle Ecuador");
            Delivery         delivery    = new Delivery();
            Pedido           pedido      = new Pedido();

            int opcion;
            int cantidad;
            int numPizza = 1;
            int latitud  = 50;
            int longitud = 13;

            Console.WriteLine("\n==== Ingrese la cantidad de pizzas que desea ====");

            cantidad = Convert.ToInt32(Console.ReadLine());

            do
            {
                Console.WriteLine("\n*** Caracteristicas de la pizza N° " + numPizza + " ***");
                Console.WriteLine("==== Tipo de pizza ====");
                Console.WriteLine("1. Grande");
                Console.WriteLine("2. Mediana");
                Console.WriteLine("3. Pequenia");
                Console.WriteLine("4. Salir");

                opcion = Convert.ToInt32(Console.ReadLine());

                if (opcion < 4)
                {
                    if (opcion == 1)
                    {
                        cliente.setPizzaBuilder(new PizzaGrandeConcreteBuilder());
                    }
                    else if (opcion == 2)
                    {
                        cliente.setPizzaBuilder(new PizzaMedianaConcreteBuilder());
                    }
                    else if (opcion == 3)
                    {
                        cliente.setPizzaBuilder(new PizzaPequenaConcreteBuilder());
                    }

                    cliente.construirPizza(agregarCoberturas());
                    Pizza pizza = cliente.getPizza();
                    calculadora.calculatePrecioPizza(cliente.getPizza());
                    pedido.addPizzaPedido(pizza);
                    cantidad--;
                    numPizza++;
                }
                else if (opcion != 4)
                {
                    System.Console.WriteLine("Opcion no valida");
                }
            } while (cantidad != 0 && opcion != 4);

            if (pedido.getPedido().Count != 0)
            {
                calculadora.calculatePrecioPedido(pedido);
                Console.WriteLine(pedido.printDetallePedido());
                delivery.setPedido(pedido.getPedido());
                cliente.setDelivery(delivery);
                delivery.asignarCliente(cliente);
                delivery.setDestino(cliente.getUbicacion());
                do
                {
                    delivery.setUltimaPosicion("Latitud: " + latitud + "°38'65''N ; Longitud: " + longitud + "°41'77''E");
                    latitud  += 10;
                    longitud += 5;
                    System.Threading.Thread.Sleep(2000);
                } while (latitud <= 80);
                delivery.setUltimaPosicion("Destino alcanzado, pedido entregado");
                delivery.retirarCliente(cliente);
            }

            Console.ReadKey();
        }
コード例 #3
0
 public void asignarCliente(ClienteDirector cliente)
 {
     clientes.Add(cliente);
 }