public void Update(ISubject subject)
        {
            GasPump pump = (GasPump)subject;

            if (pump.lastOrder != null)
            {
                unpaidPumps.Add(pump);
                Console.WriteLine("Card terminal:\n\tUnpaid stands:");
                foreach (GasPump unpaidPump in unpaidPumps)
                {
                    Order order = unpaidPump.lastOrder;
                    Console.WriteLine($"\t  Pump {unpaidPump.Identity}: {order.Quantity} liter {order.Type} for {order.Price} {order.Currency}");
                }
                Console.WriteLine("Choose pump and pay.");
            }
            else if (unpaidPumps.Count == 0)
            {
                Console.WriteLine("Everything paid");
            }
        }
        public void PayFilling(int stand)
        {
            GasPump pump = null;

            foreach (GasPump p in unpaidPumps)
            {
                if (p.Identity == stand)
                {
                    pump = p;
                    break;
                }
            }

            if (pump != null)
            {
                pump.lastOrder.Pay();
                unpaidPumps.Remove(pump);
            }
            else
            {
                Console.WriteLine("Pump does not exist");
            }
        }
        static void Main(string[] args)
        {
            var rocketFuel = new GasCompany {
                BasePrice = 90.0
            };

            var gs1 = new GasStation(Region.Sjælland, "København");
            var gs2 = new GasStation(Region.Fyn, "Odense");
            var gs3 = new GasStation(Region.Jylland, "Århus");

            rocketFuel.Attach(gs1);
            rocketFuel.Attach(gs2);
            rocketFuel.Attach(gs3);

            var pb1 = new PriceBoard(1);
            var pb2 = new PriceBoard(2);
            var pb3 = new PriceBoard(3);

            Console.WriteLine("Tilknyt lysskilt til tankstation:");
            gs1.Attach(pb1);
            Console.WriteLine();
            Console.WriteLine("Tilknyt lysskilt til tankstation:");
            gs2.Attach(pb2);
            Console.WriteLine();
            Console.WriteLine("Tilknyt lysskilt til tankstation:");
            gs3.Attach(pb3);
            Console.WriteLine();

            Console.WriteLine($"Opdatér selskabets basispris til {100} kr:");
            rocketFuel.BasePrice = 100;
            Console.WriteLine();
            Console.WriteLine($"Opdatér selskabets basispris til {105} kr:");
            rocketFuel.BasePrice = 105;
            Console.WriteLine();
            Console.WriteLine($"Opdatér selskabets basispris til {95} kr:");
            rocketFuel.BasePrice = 95;
            Console.WriteLine();

            Console.WriteLine($"Sæt rabat på tankstation i {gs2.City}:");
            gs2.Discount = true;
            Console.WriteLine();

            Console.WriteLine($"Opdatér selskabets basispris til {100} kr:");
            rocketFuel.BasePrice = 100;
            Console.WriteLine();

            Console.WriteLine($"Fjern rabat på tankstation i {gs2.City}:");
            gs2.Discount = false;
            Console.WriteLine();

            var gp1 = new GasPump();
            var gp2 = new GasPump();
            var gp3 = new GasPump();

            Console.WriteLine("Tilknyt stander 1 til tankstation:");
            gs1.Attach(gp1);
            Console.WriteLine();
            Console.WriteLine("Tilknyt stander 2 til tankstation:");
            gs1.Attach(gp2);
            Console.WriteLine();
            Console.WriteLine("Tilknyt stander 3 til tankstation:");
            gs1.Attach(gp3);
            Console.WriteLine();

            var ct = new CardTerminal();

            Console.WriteLine("Tilknyt stander 1 til betalingsautomat:");
            gp1.Attach(ct);
            Console.WriteLine();
            Console.WriteLine("Tilknyt stander 2 til betalingsautomat:");
            gp2.Attach(ct);
            Console.WriteLine();
            Console.WriteLine("Tilknyt stander 3 til betalingsautomat:");
            gp3.Attach(ct);
            Console.WriteLine();

            Console.WriteLine($"Vælg AlcoOxygen på stander 1 og tank 45 liter:");
            gp1.SelectFuel(FuelType.AlcoOxy);
            gp1.Pump(45.0);
            Console.WriteLine();

            Console.WriteLine($"Opdatér selskabets basispris til {110} kr:");
            rocketFuel.BasePrice = 110;
            Console.WriteLine();

            Console.WriteLine($"Vælg HydroOxygen på stander 3 og tank 32 liter:");
            gp3.SelectFuel(FuelType.HydroOxy);
            gp3.Pump(32.0);
            Console.WriteLine();

            Console.WriteLine($"Betal regning på stander 1:");
            ct.PayFilling(1);
            Console.WriteLine();

            Console.WriteLine($"Betal regning på stander 3:");
            ct.PayFilling(3);
            Console.WriteLine();


            Console.ReadKey(true);
        }