private void BtnIssue_Click(object sender, RoutedEventArgs e) { var db = new Session3Entities(); string bookRef = ""; while (true) { bookRef = createBookRef(); var data = db.Tickets.Where(p => p.BookingReference == bookRef).ToList(); if (data.Count == 0) { break; } } var listPass = win1.dgvPassList.Items.OfType <ItemTable2>().ToList(); var x = (ItemTable1)mainWin.dgvOutbound.SelectedItem; var x1 = (ItemTable1)mainWin.dgvReturn.SelectedItem; DateTime dt = DateTime.ParseExact(x.Col3, "MM/dd/yyyy", null); string[] xx = x.Col5.Split('-'); string[] xx1 = x1.Col5.Split('-'); foreach (var xi in xx) { insertTicket(bookRef, listPass, dt, xi); } foreach (var xi in xx1) { insertTicket(bookRef, listPass, dt, xi); } db.SaveChangesAsync(); MessageBox.Show("Bạn đã đặt vé thành công", "Thông báo"); }
public void loadCombobox() { using (var db = new Session3Entities()) { var select = db.Countries.Select(p => p.Name); foreach (var i in select) { cbbPassCT.Items.Add(i); } } }
// get infor path to tho datagrid public int getIdRouter(int x, int y) { using (var db = new Session3Entities()) { var listIdRou = db.Routes.Where(p => p.DepartureAirportID == x && p.ArrivalAirportID == y).Select(p => p.ID).ToList(); for (int i = 0; i < listIdRou.Count; i++) { int ii = listIdRou[i]; if (db.Schedules.Any(p => p.RouteID == ii)) { return(listIdRou[i]); } } return(0); } }
public void loadCbbWindow() { using (var db = new Session3Entities()) { var select = from s in db.CabinTypes select s; foreach (var data in select) { cbbCabinType.Items.Add(data.Name); } var select1 = from s in db.Airports select s; foreach (var data in select1) { cbbFrom.Items.Add(data.IATACode); cbbTo.Items.Add(data.IATACode); } } }
public void pushPathToDg(DataGrid dg, string date, ComboBox cb1, ComboBox cb2, int chose) { int posBegin = 0, posEnd = 0; using (var db = new Session3Entities()) { posBegin = db.Airports.Where(p => p.IATACode == cb1.Text).Select(p => p.ID).FirstOrDefault(); posEnd = db.Airports.Where(p => p.IATACode == cb2.Text).Select(p => p.ID).FirstOrDefault(); } listPath.Clear(); onePath.Clear(); onePath.Add(posBegin); dfs(posBegin, posEnd); dg.Items.Clear(); foreach (var path in listPath) { getPath(path, date, dg, cb1, cb2, chose); } }
private ItemTable1 get1Path(List <int> path, int id, ComboBox cb1, ComboBox cb2) { var db = new Session3Entities(); var row = db.Schedules.Where(p => p.ID == id); double cost = 0; ItemTable1 x = new ItemTable1(); x.Col1 = cb1.Text; x.Col2 = cb2.Text; x.Col3 = row.Select(p => p.Date).FirstOrDefault().ToString("MM/dd/yyyy"); DateTime dt = new DateTime(); dt = DateTime.ParseExact(x.Col3, "MM/dd/yyyy", null); x.Col4 = row.Select(p => p.Time).FirstOrDefault().ToString(); x.Col5 += row.Select(p => p.FlightNumber).FirstOrDefault().ToString(); cost += double.Parse(row.Select(p => p.EconomyPrice).FirstOrDefault().ToString()); for (int i = 1; i < path.Count - 1; i++) { int idRoute = getIdRouter(path[i], path[i + 1]); id = db.Schedules.Where(p => (p.Date >= dt && p.RouteID == idRoute)).Select(p => p.ID).FirstOrDefault(); if (id == 0) { return(null); } dt = db.Schedules.Where(p => p.ID == id).Select(p => p.Date).FirstOrDefault(); x.Col5 += "-" + db.Schedules.Where(p => p.ID == id).Select(p => p.FlightNumber).FirstOrDefault(); cost += double.Parse(db.Schedules.Where(p => p.ID == id).Select(p => p.EconomyPrice).FirstOrDefault().ToString()); } int idCabinType = db.CabinTypes.Where(p => p.Name == cbbCabinType.Text).Select(p => p.ID).FirstOrDefault(); if (idCabinType == 2) { cost = cost + (cost * 0.35); } else if (idCabinType == 3) { cost = cost + (cost + (cost * 0.35)) * 0.3; } x.Col6 = Convert.ToDecimal(cost).ToString("C0"); x.Col7 = x.Col5.Count(p => p == '-').ToString(); return(x); }
// booking public bool checkPassNum() { if (txtPassenger.Text == "") { return(false); } var isNumberic = int.TryParse(txtPassenger.Text, out _); if (!isNumberic) { return(false); } var db = new Session3Entities(); int passNum = int.Parse(txtPassenger.Text); string CabinType = cbbCabinType.Text; var seatNum1 = db.Aircrafts.Where(p => p.ID == 1); var seatNum2 = db.Aircrafts.Where(p => p.ID == 1); int seatNum11 = 0; int seatNum21 = 0; if (CabinType == "Economy") { seatNum11 = seatNum1.Select(p => p.EconomySeats).FirstOrDefault(); seatNum21 = seatNum2.Select(p => p.EconomySeats).FirstOrDefault(); } else if (CabinType == "Business") { seatNum11 = seatNum1.Select(p => p.BusinessSeats).FirstOrDefault(); seatNum21 = seatNum2.Select(p => p.BusinessSeats).FirstOrDefault(); } else { seatNum11 = seatNum1.Select(p => p.TotalSeats - p.EconomySeats - p.BusinessSeats).FirstOrDefault(); seatNum21 = seatNum2.Select(p => p.TotalSeats - p.EconomySeats - p.BusinessSeats).FirstOrDefault(); } return(passNum <= Math.Min(seatNum11, seatNum21) && 0 < passNum); }
//add data from sql to graph public void buildGraph() { using (var db = new Session3Entities()) { int n = db.Airports.Max(p => p.ID) + 1; graph = new List <int> [n]; for (int i = 0; i < n; i++) { graph[i] = new List <int>(); } var select = from s in db.Routes select s; foreach (var data in select) { int index = data.DepartureAirportID; int val = data.ArrivalAirportID; graph[index].Add(val); } for (int i = 0; i < n; i++) { graph[i] = new HashSet <int>(graph[i]).ToList <int>(); } } }
private void insertTicket(string bookRef, List <ItemTable2> listPass, DateTime dt, string flightNum) { var db = new Session3Entities(); Ticket tIns = new Ticket(); tIns.UserID = 1; tIns.ScheduleID = db.Schedules.Where(p => p.Date >= dt && p.FlightNumber == flightNum).Select(p => p.ID).FirstOrDefault(); tIns.CabinTypeID = db.CabinTypes.Where(p => p.Name == mainWin.cbbCabinType.Text).Select(p => p.ID).FirstOrDefault(); tIns.BookingReference = bookRef; tIns.Email = null; for (int i = 0; i < listPass.Count; i++) { tIns.Firstname = listPass[i].Col1; tIns.Lastname = listPass[i].Col2; string tmp1 = listPass[i].Col5; tIns.PassportCountryID = db.Countries.Where(p => p.Name == tmp1).Select(p => p.ID).FirstOrDefault(); tIns.Phone = listPass[i].Col6; tIns.PassportNumber = listPass[i].Col4; tIns.Confirmed = true; db.Tickets.Add(tIns); db.SaveChanges(); cnt++; } }
public void loadDataDefaul() { dgvOutbound.Items.Clear(); dgvReturn.Items.Clear(); using (var db = new Session3Entities()) { var data = db.Schedules; foreach (var i in data) { ItemTable1 tb = new ItemTable1(); int rID = i.RouteID; int airID1 = db.Routes.Where(p => p.ID == rID).Select(p => p.DepartureAirportID).FirstOrDefault(); tb.Col1 = db.Airports.Where(p => p.ID == airID1).Select(p => p.IATACode).FirstOrDefault(); int airID2 = db.Routes.Where(p => p.ID == rID).Select(p => p.ArrivalAirportID).FirstOrDefault(); tb.Col2 = db.Airports.Where(p => p.ID == airID2).Select(p => p.IATACode).FirstOrDefault(); tb.Col3 = i.Date.ToString("MM/dd/yyyy"); tb.Col4 = i.Time.ToString(); tb.Col5 = i.FlightNumber; int idCabinType = db.CabinTypes.Where(p => p.Name == cbbCabinType.Text).Select(p => p.ID).FirstOrDefault(); double cost = double.Parse(i.EconomyPrice.ToString()); if (idCabinType == 2) { cost = cost + (cost * 0.35); } else if (idCabinType == 3) { cost = cost + (cost + (cost * 0.35)) * 0.3; } tb.Col6 = Convert.ToDecimal(cost).ToString("C0"); tb.Col7 = "0"; dgvOutbound.Items.Add(tb); dgvReturn.Items.Add(tb); } } }
public void getPath(List <int> path, string dt, DataGrid dg, ComboBox cb1, ComboBox cb2, int chose) { var db = new Session3Entities(); DateTime cmp = DateTime.ParseExact(dt, "MM/dd/yyyy", null); int idrou = getIdRouter(path[0], path[1]); List <int> listIdSchedules = new List <int>(); if (chose == 1) { listIdSchedules = db.Schedules.Where(p => p.Date >= cmp && p.RouteID == idrou).Select(p => p.ID).ToList(); } else { listIdSchedules = db.Schedules.Where(p => p.Date == cmp && p.RouteID == idrou).Select(p => p.ID).ToList(); } foreach (int id in listIdSchedules) { ItemTable1 newItem = get1Path(path, id, cb1, cb2); if (newItem != null) { dg.Items.Add(newItem); } } }