private void GetSetCountry()
 {
     using (var db = new Session3Entities())
     {
         var q = db.Countries.Select(x => x.Name).ToList();
         cbPassport.DataSource = q;
     }
 }
示例#2
0
        private void GetSetCabin()
        {
            using (var db = new Session3Entities())
            {
                var q = db.CabinTypes.Select(x => x.Name).ToList();

                cbCabin.DataSource = q;
            }
        }
示例#3
0
        private void GetSetAirports()
        {
            using (var db = new Session3Entities())
            {
                var q = db.Airports.Select(x => x.IATACode).ToList();

                cbFrom.DataSource   = q;
                cbTo.BindingContext = new BindingContext();
                cbTo.DataSource     = q;
                cbTo.SelectedIndex  = 1;
            }

            cbTo.SelectedIndexChanged   += checkFromTo;
            cbFrom.SelectedIndexChanged += checkFromTo;
        }
示例#4
0
        // Get all the flight details (migth be slow)
        private List <FlightDetails> GetFlightDetails()
        {
            using (var db = new Session3Entities())
            {
                List <FlightDetails> q = new List <FlightDetails>();
                q = db.Schedules.Select(x => new FlightDetails()
                {
                    From          = x.Route.Airport.IATACode,
                    To            = x.Route.Airport1.IATACode,
                    Date          = x.Date,
                    Time          = x.Time,
                    FlightNumber  = x.FlightNumber,
                    CabinPrice    = (int)x.EconomyPrice,
                    NumberOfStops = 0
                }).ToList();

                return(q);
            }
        }
        private void btnIssue_Click(object sender, EventArgs e)
        {
            try
            {
                using (var db = new Session3Entities())
                {
                    string bookingReference = MakeBookingReference(6);
                    foreach (var p in booking.passengers)
                    {
                        int      lastTicketID    = db.Tickets.OrderByDescending(x => x.ID).FirstOrDefault().ID;
                        string[] outboundNumbers = booking.outboundFlight.FlightNumber.Split('-');
                        foreach (var item in outboundNumbers)
                        {
                            int sOutboundID = db.Schedules.FirstOrDefault(x => x.FlightNumber == item.Trim()).ID;
                            db.Tickets.Add(new Ticket
                            {
                                ID                = lastTicketID + 1,
                                UserID            = 1,
                                ScheduleID        = sOutboundID,
                                CabinTypeID       = db.CabinTypes.FirstOrDefault(x => x.Name == booking.cabinType).ID,
                                Firstname         = p.FirstName,
                                Lastname          = p.LastName,
                                PassportNumber    = p.PassportNumber,
                                PassportCountryID = db.Countries.FirstOrDefault(x => x.Name == p.PassportCountry).ID,
                                BookingReference  = bookingReference,
                                Confirmed         = true,
                                Phone             = p.Phone.Replace(" ", "")
                            });

                            db.SaveChanges();
                        }

                        if (booking.returnFlight != null)
                        {
                            string[] returnNumbers = booking.returnFlight.FlightNumber.Split('-');
                            foreach (var item in returnNumbers)
                            {
                                int sReturnID = db.Schedules.FirstOrDefault(x => x.FlightNumber == item.Trim()).ID;
                                db.Tickets.Add(new Ticket
                                {
                                    ID                = lastTicketID + 1,
                                    UserID            = 1,
                                    ScheduleID        = sReturnID,
                                    CabinTypeID       = db.CabinTypes.FirstOrDefault(x => x.Name == booking.cabinType).ID,
                                    Firstname         = p.FirstName,
                                    Lastname          = p.LastName,
                                    PassportNumber    = p.PassportNumber,
                                    PassportCountryID = db.Countries.FirstOrDefault(x => x.Name == p.PassportCountry).ID,
                                    BookingReference  = bookingReference,
                                    Confirmed         = true,
                                    Phone             = p.Phone.Replace(" ", "")
                                });

                                db.SaveChanges();
                            }
                        }
                    }
                }

                MessageBox.Show("Success!");
            }
            catch (DbEntityValidationException ex)
            {
                var error     = ex.EntityValidationErrors.SelectMany(x => x.ValidationErrors).Select(x => x.ErrorMessage);
                var fullError = string.Join("\n", error);
                var exception = $"Error: {fullError}";
                MessageBox.Show(exception);
            }
        }