public BookingConfirmationForm(string _cabinType, int _passengerNum, FlightDetails _outboundFlight, FlightDetails _returnFlight = null)
 {
     InitializeComponent();
     outboundFlight = _outboundFlight;
     returnFlight   = _returnFlight;
     cabinType      = _cabinType;
     passengerNum   = _passengerNum;
 }
示例#2
0
        private void btnBook_Click(object sender, EventArgs e)
        {
            BookingConfirmationForm booking;
            FlightDetails           _o;
            FlightDetails           _r;

            var outboundCurrent = dgvOutbound.CurrentRow;

            _o = new FlightDetails
            {
                From          = outboundCurrent.Cells["From"].Value.ToString(),
                To            = outboundCurrent.Cells["To"].Value.ToString(),
                Date          = DateTime.ParseExact(outboundCurrent.Cells["Date"].Value.ToString(), @"dd-MMM-yy hh\:mm\:ss", null).Date,
                Time          = TimeSpan.ParseExact(outboundCurrent.Cells["Time"].Value.ToString(), @"hh\:mm\:ss", null),
                CabinPrice    = int.Parse(outboundCurrent.Cells["CabinPrice"].Value.ToString()),
                FlightNumber  = outboundCurrent.Cells["FlightNumber"].Value.ToString(),
                NumberOfStops = int.Parse(outboundCurrent.Cells["NumberOfStops"].Value.ToString())
            };

            if (rbReturn.Checked)
            {
                var returnCurrent = dgvReturn.CurrentRow;
                _r = new FlightDetails
                {
                    From          = returnCurrent.Cells["From"].Value.ToString(),
                    To            = returnCurrent.Cells["To"].Value.ToString(),
                    Date          = DateTime.ParseExact(returnCurrent.Cells["Date"].Value.ToString(), @"dd-MMM-yy hh\:mm\:ss", null).Date,
                    Time          = TimeSpan.ParseExact(returnCurrent.Cells["Time"].Value.ToString(), @"hh\:mm\:ss", null),
                    CabinPrice    = int.Parse(returnCurrent.Cells["CabinPrice"].Value.ToString()),
                    FlightNumber  = returnCurrent.Cells["FlightNumber"].Value.ToString(),
                    NumberOfStops = int.Parse(returnCurrent.Cells["NumberOfStops"].Value.ToString())
                };
                booking = new BookingConfirmationForm(cbCabin.Text, (int)nudPassenger.Value, _o, _r);
            }
            else
            {
                booking = new BookingConfirmationForm(cbCabin.Text, (int)nudPassenger.Value, _o);
            }

            booking.Owner = this;
            booking.ShowDialog();
        }
示例#3
0
        private void btnApply_Click(object sender, EventArgs e)
        {
            if (rbOne.Checked)
            {
                outboundDate = dtpOutbound.Value.Date;
                qOutbound    = flight.GetFlightDetails(cbFrom.Text, cbTo.Text, cbCabin.Text, outboundDate);
                if (qOutbound.Count > 0)
                {
                    if (qOutbound.Select(x => x.FlightNumber).Distinct().Count() > 1)
                    {
                        FlightDetails flight = new FlightDetails
                        {
                            From          = cbFrom.Text,
                            To            = cbTo.Text,
                            Date          = qOutbound[0].Date,
                            Time          = qOutbound[0].Time,
                            CabinPrice    = qOutbound.Sum(x => x.CabinPrice),
                            FlightNumber  = string.Join(" - ", qOutbound.Select(x => x.FlightNumber).ToList()),
                            NumberOfStops = qOutbound.Count - 1
                        };

                        qOutbound = new List <FlightDetails> {
                            flight
                        };
                    }
                }
                else
                {
                    MessageBox.Show("No Flights to the destination found (pick either different route, date, or even tick 'One way')");
                }

                q[0] = qOutbound;
                q[1] = null;
                DisplayOutbound();
            }
            else
            {
                outboundDate = dtpOutbound.Value.Date;
                returnDate   = dtpReturn.Value.Date;
                qOutbound    = flight.GetFlightDetails(cbFrom.Text, cbTo.Text, cbCabin.Text, outboundDate);
                qReturn      = flight.GetFlightDetails(cbTo.Text, cbFrom.Text, cbCabin.Text, returnDate);

                if (qOutbound.Count > 0)
                {
                    if (qOutbound.Select(x => x.FlightNumber).Distinct().Count() > 1)
                    {
                        FlightDetails flight = new FlightDetails
                        {
                            From          = cbFrom.Text,
                            To            = cbTo.Text,
                            Date          = qOutbound[0].Date,
                            Time          = qOutbound[0].Time,
                            CabinPrice    = qOutbound.Sum(x => x.CabinPrice),
                            FlightNumber  = string.Join(" - ", qOutbound.Select(x => x.FlightNumber).ToList()),
                            NumberOfStops = qOutbound.Count - 1
                        };

                        qOutbound = new List <FlightDetails> {
                            flight
                        };
                    }
                }
                else
                {
                    MessageBox.Show("No Flights to destination found");
                }

                if (qReturn.Count > 0)
                {
                    if (qReturn.Select(x => x.FlightNumber).Distinct().Count() > 1)
                    {
                        FlightDetails flight = new FlightDetails
                        {
                            From          = cbTo.Text,
                            To            = cbFrom.Text,
                            Date          = qReturn[0].Date,
                            Time          = qReturn[0].Time,
                            CabinPrice    = qReturn.Sum(x => x.CabinPrice),
                            FlightNumber  = string.Join(" - ", qReturn.Select(x => x.FlightNumber).ToList()),
                            NumberOfStops = qReturn.Count - 1
                        };

                        qReturn = new List <FlightDetails> {
                            flight
                        };
                    }
                }
                else
                {
                    MessageBox.Show("No Flights to home found (pick either different route, date, or even tick 'One way')");
                }

                q[0] = qOutbound;
                q[1] = qReturn;
                DisplayOutbound();
                DisplayReturn();
            }
        }