public void Start() { try { grvDangXuLy.Add <RepositoryItemEnumLookupEdit_StaxiBookStatus>("Status"); grvHoanThanh.Add <RepositoryItemEnumLookupEdit_StaxiBookStatus>("Status"); listStaxiBook = StaxiBook.GetAll(ThongTinDangNhap.Line_Vung); grcDangXuLy.DataSource = listStaxiBook; grcDangXuLy.RefreshDataSource(); Tick_2s = 0; Tick_5s = 0; Tick_10s = 0; timeXuLy = new Timer(); DateMax = StaxiBook.Inst.GetTimeServer().Value; timeXuLy.Interval = 1000; timeXuLy.Tick += timeXuLy_Tick; timeXuLy.Start(); soluong = listStaxiBook.Count; if (EventSoLuongCuoc != null) { EventSoLuongCuoc(soluong); } } catch (Exception ex) { } }
private void tabCuocApp_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e) { if (tabCuocApp.SelectedTabPage == tabHoanThanh) { grcHoanThanh.DataSource = StaxiBook.LayBangTinKetThuc(); } }
private void timeXuLy_Tick(object sender, EventArgs e) { try { bool HasThayDoiDuLieu = false; if (Tick_2s >= 2) { var listUpdate = StaxiBook.LayDuLieuThayDoi(ThongTinDangNhap.Line_Vung, DateMax); if (listUpdate != null && listUpdate.Count > 0) { HasThayDoiDuLieu = true; foreach (var item in listUpdate) { if (DateMax < item.UpdateTime) { DateMax = item.UpdateTime; } int Index = -1; for (int i = 0; i < listStaxiBook.Count; i++) { if (item.Id == listStaxiBook[i].Id) { Index = i; break; } } if (Index == -1) { listStaxiBook.Insert(0, item); RowIndex++; soluong++; } else { var itemCopy = listStaxiBook[Index]; itemCopy.XeDenDiem = item.XeDenDiem; itemCopy.XeDon = item.XeDenDiem; itemCopy.XeDungDiem = item.XeDungDiem; itemCopy.XeNhan = item.XeNhan; itemCopy.XeTuChoi = item.XeTuChoi; itemCopy.UpdateTime = item.UpdateTime; itemCopy.Status = item.Status; itemCopy.ServerCommand = item.ServerCommand; itemCopy.DriverCommand = item.DriverCommand; itemCopy.CancelType = item.CancelType; } } } Tick_2s = 0; } if (Tick_10s >= 10) { StaxiBook.Timeout(); Tick_10s = 0; } if (Tick_5s >= 5) { string Ids = ""; for (int i = 0; i < listStaxiBook.Count; i++) { Ids = Ids + "," + listStaxiBook[i].Id.ToString(); } var lIds = StaxiBook.LayIDKetThuc(Ids); if (lIds != null && lIds.Count > 0) { HasThayDoiDuLieu = true; foreach (var item in lIds) { for (int index = 0; index < listStaxiBook.Count; index++) { if (item == listStaxiBook[index].Id) { listStaxiBook.RemoveAt(index); if (RowIndex > index) { RowIndex--; } soluong--; break; } } } } Tick_5s = 0; } Tick_2s++; Tick_5s++; Tick_10s++; if (HasThayDoiDuLieu) { var RowIndex_Temp = RowIndex; if (grcDangXuLy.DataSource == null) { grcDangXuLy.DataSource = listStaxiBook; } grcDangXuLy.RefreshDataSource(); grvDangXuLy.FocusedRowHandle = RowIndex_Temp; if (EventSoLuongCuoc != null) { EventSoLuongCuoc(soluong); } } } catch { } }