using System.Collections;
public static void Main()
Passenger passenger1,passenger2,passenger3,passenger4;
passenger1 = new Passenger(){FullName = "Shivarani", Destination = "Australia", TravelDate = DateTime.Now,Carrier = "AirCanada"};
passenger2 = new Passenger(){FullName = "Alekya", Destination = "England", TravelDate = DateTime.Now,Carrier = "Lufthansa"};
passenger3 = new Passenger(){FullName = "Rohan", Destination = "Florida", TravelDate = DateTime.Now,Carrier = "Air USA"};
passenger4 = new Passenger(){FullName = "VenuMadhav", Destination = "Bali", TravelDate = DateTime.Now,Carrier = "Air Indonesia"};
Airport airport1,airport2,airport3,airport4;
airport1 = new Airport(){GateNum = "G23", CarrierNum = "AK908", SeatNum = "S23,S45"};
airport2 = new Airport(){GateNum = "G23", CarrierNum = "LH678", SeatNum = "S23,S45"};
airport3 = new Airport(){GateNum = "L23", CarrierNum = "KL345", SeatNum = "S23,S45"};
airport4 = new Airport(){GateNum = "B23", CarrierNum = "ID657", SeatNum = "S23,S45"};
Queue PassengerQueue = new Queue();
PassengerQueue.Enqueue(passenger1);
PassengerQueue.Enqueue(passenger2);
PassengerQueue.Enqueue(passenger3);
PassengerQueue.Enqueue(passenger4);
Queue AirportQueue = new Queue();
AirportQueue.Enqueue(airport1);
AirportQueue.Enqueue(airport2);
AirportQueue.Enqueue(airport3);
AirportQueue.Enqueue(airport4);
foreach (Passenger p in PassengerQueue)
foreach (Airport a in AirportQueue)
p.PassengerInfo += a.IssueBoardingPass;
p.PassengerInfo -= a.IssueBoardingPass;
public delegate void AirTravelEventHandler(object source, AirTravelEventArgs e);
private string _CarrierNum;
set{_CarrierNum = value;}
public void IssueBoardingPass(object sender, AirTravelEventArgs e)
Console.WriteLine("Hi {0}, Welcome to Pearson Airport", e.passenger.FullName);
Console.WriteLine("Your Baggage is OK.");
Console.WriteLine("Your Boarding pass");
Console.WriteLine("you are taraveling to {0} with {1} on {2}", e.passenger.Destination, e.passenger.Carrier,e.passenger.TravelDate);
Console.WriteLine("Your GateNumber is {0}, seat numbers are {1}, your Flight Number is {2}",
this._GateNum, this._SeatNum, this._CarrierNum);
public string FullName{get;set;}
public string Destination{get;set;}
public DateTime TravelDate{get;set;}
public string Carrier{get;set;}
public event AirTravelEventHandler PassengerInfo;
public void CheckIn(Passenger passenger)
AirTravelEventHandler passengerinfo = PassengerInfo;
Console.WriteLine("{0} your turn to proceed checkin",passenger.FullName);
if (passengerinfo != null)
passengerinfo(this, new AirTravelEventArgs(passenger));
public class AirTravelEventArgs : EventArgs
public Passenger passenger{get;set;}
public AirTravelEventArgs(Passenger passenger1)
this.passenger = passenger1;