private async void LoadDataGridView(List <FlightSchedule> lstFlightSchedule) { AirplaneWrapper airplaneWrapper = new AirplaneWrapper(); AirplaneTypeWrapper airplaneTypeWrapper = new AirplaneTypeWrapper(); RouteWrapper routeWrapper = new RouteWrapper(); CityWrapper cityWrapper = new CityWrapper(); // Goi API lay du lieu ve List <Airplane> lstAirplane = await airplaneWrapper.List(); List <AirplaneType> lstAirplaneType = await airplaneTypeWrapper.List(); List <Route> lstRoute = await routeWrapper.List(); List <City> lstCity = await cityWrapper.List(); // Hien thi len label FromTo lbFromTo.Text = String.Format("From {0} - to {1}", lstCity.Find(c => c.ID == lstRoute.Find(r => r.ID == lstFlightSchedule.First().RouteID).CityAID).Name, lstCity.Find(c => c.ID == lstRoute.Find(r => r.ID == lstFlightSchedule.Last().RouteID).CityBID).Name ); // Tao bang de chua du lieu tra ve tu API DataTable table = new DataTable(); table.Columns.Add("ID"); // Ma chuyen bay table.Columns.Add("AirplaneCode"); // ID cua may bay table.Columns.Add("AirplaneTypeName"); // ID cua may bay table.Columns.Add("RouteID"); // ID cua chuyen bay table.Columns.Add("CityAName"); // ID cua may bay table.Columns.Add("CityBName"); // ID cua may bay table.Columns.Add("DepartureDate"); // Ngay cat canh table.Columns.Add("FirstSeatAvail"); // So luong ghe hang Nhat con table.Columns.Add("BusinessSeatAvail"); // So luong ghe hang Thuong gia con table.Columns.Add("ClubSeatAvail"); // So luong ghe hang Pho Thong con table.Columns.Add("IsActive"); // Trang thai cua chuyen bay // Kiem tra xem ket qua goi API co thanh cong hay khong if (lstFlightSchedule != null) { // Lap qua tung "dong` du lieu" foreach (FlightSchedule flightSchedule in lstFlightSchedule) { // Goi API de lay So luong cua moi Loai ghe tren may bay nay Airplane airplane = lstAirplane.Find(a => a.AirplaneCode == flightSchedule.AirplaneCode); AirplaneType airplaneType = lstAirplaneType.Find(at => at.ID == airplane.TypeID); // Goi API de lay ID cua chuyen bay (Route) Route route = lstRoute.Find(r => r.ID == flightSchedule.RouteID); City cityA = lstCity.Find(c => c.ID == route.CityAID); City cityB = lstCity.Find(c => c.ID == route.CityBID); // Tao mot dong` trong bang winForm DataRow row = table.NewRow(); // Gan du lieu len dong moi tao row["ID"] = flightSchedule.ID; row["AirplaneCode"] = airplane.AirplaneCode; row["AirplaneTypeName"] = airplaneType.Name; row["RouteID"] = flightSchedule.RouteID; row["CityAName"] = cityA.Name; row["CityBName"] = cityB.Name; row["DepartureDate"] = flightSchedule.DepartureDate; row["FirstSeatAvail"] = flightSchedule.FirstSeatAvail; row["BusinessSeatAvail"] = flightSchedule.BusinessSeatAvail; row["ClubSeatAvail"] = flightSchedule.ClubSeatAvail; row["IsActive"] = flightSchedule.IsActive; // Gan dong moi tao vao bang table.Rows.Add(row); } // Sau khi lap qua het cac dong du lieu // Ta co bang WinForm hoan chinh // Gan bang WinForm len DataGridView dgvFlightSchedule.DataSource = table; // An? cot AirplaneTypeID di, khong hien cot nay dgvFlightSchedule.Columns["RouteID"].Visible = false; dgvFlightSchedule.Columns["IsActive"].Visible = false; } }
public async void LoadDataGridView() { // Luu lai dong hien tai dang chon int currentRowIndex; // Neu hien tai khong co dong nao duoc chon thi mac dinh la dong so 0 if (dgvFlightSchedule.SelectedRows.Count == 0) { currentRowIndex = 0; } else { currentRowIndex = dgvFlightSchedule.Rows.IndexOf(dgvFlightSchedule.SelectedRows[0]); } // Luu lai dong hien tai dang o dau` bang? trong dataGridView int firstRowIndex = dgvFlightSchedule.FirstDisplayedScrollingRowIndex; if (firstRowIndex == -1) { firstRowIndex = 0; } // Goi API lay du lieu ve FlightScheduleWrapper flightScheduleWrapper = new FlightScheduleWrapper(); List <FlightSchedule> lstFlightSchedule = await flightScheduleWrapper.List(); // Khai bao API de lay du lieu cua bang City (City) // va Thong tin ve` so luong cua tung loai ghe (AirplaneInfo) AirplaneWrapper airplaneWrapper = new AirplaneWrapper(); AirplaneTypeWrapper airplaneTypeWrapper = new AirplaneTypeWrapper(); RouteWrapper routeWrapper = new RouteWrapper(); CityWrapper cityWrapper = new CityWrapper(); // Goi API lay du lieu ve List <Airplane> lstAirplane = await airplaneWrapper.List(); List <AirplaneType> lstAirplaneType = await airplaneTypeWrapper.List(); List <Route> lstRoute = await routeWrapper.List(); List <City> lstCity = await cityWrapper.List(); // Tao bang de chua du lieu tra ve tu API DataTable table = new DataTable(); table.Columns.Add("ID"); // Ma chuyen bay table.Columns.Add("AirplaneCode"); // ID cua may bay table.Columns.Add("AirplaneTypeName"); // ID cua may bay table.Columns.Add("RouteID"); // ID cua chuyen bay table.Columns.Add("CityAName"); // ID cua may bay table.Columns.Add("CityBName"); // ID cua may bay table.Columns.Add("DepartureDate"); // Ngay cat canh table.Columns.Add("FirstSeatAvail"); // So luong ghe hang Nhat con table.Columns.Add("BusinessSeatAvail"); // So luong ghe hang Thuong gia con table.Columns.Add("ClubSeatAvail"); // So luong ghe hang Pho Thong con table.Columns.Add("IsActive"); // Trang thai cua chuyen bay // Kiem tra xem ket qua goi API co thanh cong hay khong if (lstFlightSchedule != null) { // Lap qua tung "dong` du lieu" foreach (FlightSchedule flightSchedule in lstFlightSchedule) { // Goi API de lay So luong cua moi Loai ghe tren may bay nay Airplane airplane = lstAirplane.Find(a => a.AirplaneCode == flightSchedule.AirplaneCode); AirplaneType airplaneType = lstAirplaneType.Find(at => at.ID == airplane.TypeID); // Goi API de lay ID cua chuyen bay (Route) Route route = lstRoute.Find(r => r.ID == flightSchedule.RouteID); City cityA = lstCity.Find(c => c.ID == route.CityAID); City cityB = lstCity.Find(c => c.ID == route.CityBID); // Tao mot dong` trong bang winForm DataRow row = table.NewRow(); // Gan du lieu len dong moi tao row["ID"] = flightSchedule.ID; row["AirplaneCode"] = airplane.AirplaneCode; row["AirplaneTypeName"] = airplaneType.Name; row["RouteID"] = flightSchedule.RouteID; row["CityAName"] = cityA.Name; row["CityBName"] = cityB.Name; row["DepartureDate"] = flightSchedule.DepartureDate.ToString("dd/MM/yyyy"); row["FirstSeatAvail"] = flightSchedule.FirstSeatAvail; row["BusinessSeatAvail"] = flightSchedule.BusinessSeatAvail; row["ClubSeatAvail"] = flightSchedule.ClubSeatAvail; row["IsActive"] = flightSchedule.IsActive; // Gan dong moi tao vao bang table.Rows.Add(row); } // Sau khi lap qua het cac dong du lieu // Ta co bang WinForm hoan chinh // Gan bang WinForm len DataGridView dgvFlightSchedule.DataSource = table; // An? cot AirplaneTypeID di, khong hien cot nay dgvFlightSchedule.Columns["RouteID"].Visible = false; // Chon lai dong ban dau duoc chon truoc khi reload if (dgvFlightSchedule.Rows.Count > 0) { dgvFlightSchedule.Rows[currentRowIndex].Selected = true; } // Cuon. toi' dong` duoc. chon. if (dgvFlightSchedule.Rows.Count > 0) { dgvFlightSchedule.FirstDisplayedScrollingRowIndex = firstRowIndex; } } }
public async void LoadDataGridView() { // Luu lai dong hien tai dang chon int currentRowIndex; // Neu hien tai khong co dong nao duoc chon thi mac dinh la dong so 0 if (dgvAirplane.SelectedRows.Count == 0) { currentRowIndex = 0; } else { currentRowIndex = dgvAirplane.Rows.IndexOf(dgvAirplane.SelectedRows[0]); } // Luu lai dong hien tai dang o dau` bang? trong dataGridView int firstRowIndex = dgvAirplane.FirstDisplayedScrollingRowIndex; if (firstRowIndex == -1) { firstRowIndex = 0; } // Goi API lay du lieu ve AirplaneWrapper airplaneWrapper = new AirplaneWrapper(); List <Airplane> lstAirplane = await airplaneWrapper.List(); // Khai bao API de lay du lieu cua Loai may bay (AirplaneType) // va Thong tin ve` so luong cua tung loai ghe (AirplaneInfo) AirplaneTypeWrapper airplaneTypeWrapper = new AirplaneTypeWrapper(); AirplaneInfoWrapper airplaneInfoWrapper = new AirplaneInfoWrapper(); // Goi API lay du lieu ve List <AirplaneType> lstAirplaneType = await airplaneTypeWrapper.List(); List <AirplaneInfo> lstAirplaneInfo = await airplaneInfoWrapper.List(); // Tao bang de chua du lieu tra ve tu API DataTable table = new DataTable(); table.Columns.Add("AirplaneCode"); // Ma may bay table.Columns.Add("AirplaneTypeID"); // ID cua loai may bay table.Columns.Add("AirplaneTypeName"); // Ten cua loai may bay table.Columns.Add("FirstClassCount"); // So luong ghe hang nhat table.Columns.Add("BusinessClassCount"); // So luong ghe hang Thuong gia table.Columns.Add("ClubClassCount"); // So luong ghe thuong table.Columns.Add("IsActive"); // Trang thai cua may bay (con hoat dong khong) // Kiem tra xem ket qua goi API co thanh cong hay khong if (lstAirplane != null) { // Lap qua tung "dong` du lieu" foreach (Airplane airplane in lstAirplane) { // Goi API de lay du lieu cua Loai may bay (AirplaneType) AirplaneType airplaneType = lstAirplaneType.Where(at => at.ID == airplane.TypeID).Single(); // Goi API de lay So luong cua moi Loai ghe tren may bay nay List <AirplaneInfo> airplaneInfo = lstAirplaneInfo.Where(ai => ai.AirplaneTypeID == airplaneType.ID).ToList(); // Tao mot dong` trong bang winForm DataRow row = table.NewRow(); // Gan du lieu len dong moi tao row["AirplaneCode"] = airplane.AirplaneCode; row["AirplaneTypeID"] = airplane.TypeID; row["AirplaneTypeName"] = airplaneType.Name; row["FirstClassCount"] = airplaneInfo.Where(ai => ai.ClassID == 1).Single().SeatCount; row["BusinessClassCount"] = airplaneInfo.Where(ai => ai.ClassID == 2).Single().SeatCount; row["ClubClassCount"] = airplaneInfo.Where(ai => ai.ClassID == 3).Single().SeatCount; row["IsActive"] = airplane.IsActive; // Gan dong moi tao vao bang table.Rows.Add(row); } // Sau khi lap qua het cac dong du lieu // Ta co bang WinForm hoan chinh // Gan bang WinForm len DataGridView dgvAirplane.DataSource = table; // An? cot AirplaneTypeID di, khong hien cot nay dgvAirplane.Columns["AirplaneTypeID"].Visible = false; // Chon lai dong ban dau duoc chon truoc khi reload if (dgvAirplane.Rows.Count > 0) { dgvAirplane.Rows[currentRowIndex].Selected = true; } // Cuon. toi' dong` duoc. chon. if (dgvAirplane.Rows.Count > 0) { dgvAirplane.FirstDisplayedScrollingRowIndex = firstRowIndex; } } }
/// <summary> /// Only use for generate sample data of table FlightSchedule /// This function will generate flight schedule for all route in database, /// each route will have <code>maxFlightSchedulePerRoute</code> flight schedules, /// each flight schedule of route will apart one day, starting from today. /// </summary> private async void AutoGenerateFlightSchedule() { DateTime startTime = DateTime.Now; Console.WriteLine("Start at {0}", startTime); FlightScheduleWrapper flightScheduleWrapper = new FlightScheduleWrapper(); AirplaneWrapper airplaneWrapper = new AirplaneWrapper(); AirplaneTypeWrapper airplaneTypeWrapper = new AirplaneTypeWrapper(); AirplaneInfoWrapper airplaneInfoWrapper = new AirplaneInfoWrapper(); RouteWrapper routeWrapper = new RouteWrapper(); List <Airplane> lstAirplane = await airplaneWrapper.List(); List <AirplaneType> lstAirplaneType = await airplaneTypeWrapper.List(); List <AirplaneInfo> lstAirplaneInfo = await airplaneInfoWrapper.List(); List <Route> lstRoute = await routeWrapper.List(); int flightScheduleOfCurrentRoute = 0; int maxFlightSchedulePerRoute = 15; DateTime startingDate = DateTime.Now; int currentAirplaneIndex = 0; int count = 0; for (int routeIndex = 0, maxRouteIndex = lstRoute.Count - 1; routeIndex <= maxRouteIndex; routeIndex++) { Route currentRoute = lstRoute[routeIndex]; do { Airplane currentAirplane = lstAirplane[currentAirplaneIndex++]; AirplaneType currentAirplaneType = lstAirplaneType.Find(at => at.ID == currentAirplane.TypeID); List <AirplaneInfo> currentAirplaneInfo = lstAirplaneInfo.Where(ai => ai.AirplaneTypeID == currentAirplaneType.ID).ToList(); DateTime departureDate = startingDate.AddDays(flightScheduleOfCurrentRoute); FlightSchedule flightSchedule = new FlightSchedule() { AirplaneCode = currentAirplane.AirplaneCode, RouteID = currentRoute.ID, DepartureDate = departureDate, FirstSeatAvail = currentAirplaneInfo.Find(ai => ai.ClassID == 1).SeatCount, BusinessSeatAvail = currentAirplaneInfo.Find(ai => ai.ClassID == 2).SeatCount, ClubSeatAvail = currentAirplaneInfo.Find(ai => ai.ClassID == 3).SeatCount, IsActive = true }; if (await flightScheduleWrapper.Post(flightSchedule)) { Console.WriteLine("Add flight schedule #{0} success!", ++count); } else { Console.WriteLine("Add flight schedule #{0} failed!", ++count); } if (currentAirplaneIndex >= lstAirplane.Count) { currentAirplaneIndex = 0; } } while (++flightScheduleOfCurrentRoute < maxFlightSchedulePerRoute); flightScheduleOfCurrentRoute = 0; } DateTime endTime = DateTime.Now; Console.WriteLine("End at {0}", startTime); Console.WriteLine("Total time: {0}", (endTime - startTime).TotalSeconds); }
private async void FormFlightScheduleCE_Load(object sender, System.EventArgs e) { // Lay danh sach cac may bay ve AirplaneWrapper airplaneWrapper = new AirplaneWrapper(); List <Airplane> lstAirplane = await airplaneWrapper.List(); // Goi API lay danh sach cac Loai may bay ve AirplaneTypeWrapper airplaneTypeWrapper = new AirplaneTypeWrapper(); List <AirplaneType> lstAirplaneType = await airplaneTypeWrapper.List(); // Goi API lay danh sach cac Lich bay ve FlightScheduleWrapper flightScheduleWrapper = new FlightScheduleWrapper(); List <FlightSchedule> lstFlightSchedule = await flightScheduleWrapper.List(); // Goi API lay danh sach Route ve RouteWrapper routeWrapper = new RouteWrapper(); List <Route> lstRoute = await routeWrapper.List(); // Goi API lay danh sach City ve CityWrapper cityWrapper = new CityWrapper(); List <City> lstCity = await cityWrapper.List(); // Gan loai may bay vao danh sach may bay foreach (Airplane airplane in lstAirplane) { airplane.AirplaneType = lstAirplaneType.Where(at => at.ID == airplane.TypeID).Single(); } // Gan city vao Route foreach (Route route in lstRoute) { route.CityA = lstCity.Where(c => c.ID == route.CityAID).Single(); route.CityB = lstCity.Where(c => c.ID == route.CityBID).Single(); } // Dua danh sach loai may bay len Combobox cboAirplane.DataSource = lstAirplane; cboAirplane.DisplayMember = "AirplaneCode"; // Dua danh sach Route len Combobox cboRoute.DataSource = lstRoute; cboRoute.DisplayMember = "CityAID"; // Neu la che do chinh sua (Edit) thi hien thi thong tin cua may bay len form if (mode == FormMode.EDIT) { // Dua airplane code len cboAirplane.SelectedItem = lstAirplane.Where(a => a.AirplaneCode == flightSchedule.AirplaneCode).Single(); // Chon loai may bay (AirplaneType) tuong ung voi may bay nay cboRoute.SelectedItem = lstRoute.Where(r => r.ID == flightSchedule.RouteID).Single(); // Chon ngay khoi hanh dateTimePicker1.Value = flightSchedule.DepartureDate; if (flightSchedule.IsActive) { // Neu may bay nay dang active thi check vao radio button Active rbtnActive.Checked = true; } else { rbtnInActive.Checked = true; } } else { // Neu dang o che do them moi // Tao moi mot may bay flightSchedule = new FlightSchedule(); // Set lich bay la ngay hien tai dateTimePicker1.Value = DateTime.Now; // Nhung gia tri khac se duoc gan vao may bay khi nguoi dung bam nut Submit } }