private async void btnTimKiem_Click(object sender, EventArgs e) { if (btnTimKiem.Text == "Tìm kiếm (F3)") { #region Lấy cookie nếu trang yêu cầu if (_guiTinNhan.TimKiemYeuCauCookie) { if (thongTinTaiKhoan_GuiBindingSource.Count > 0) { ThongTinTaiKhoan tkTimKiem = thongTinTaiKhoan_GuiBindingSource[0] as ThongTinTaiKhoan; if (tkTimKiem.YeuCauDangNhapMoi) { XuLyDaLuong.ChangeText(lblTrangThaiTimKiem, string.Format("Đang nhập {0}...", tkTimKiem.TaiKhoan), Color.Red); await _guiTinNhan.DangNhapAsync(tkTimKiem); if (tkTimKiem.Cookie != null) { XuLyDaLuong.ChangeText(lblTrangThaiTimKiem, "Đăng nhập thành công", Color.Blue); } else { XuLyDaLuong.ChangeText(lblTrangThaiTimKiem, "Đăng nhập thất bại", Color.Red); } } _guiTinNhan.Cookie = tkTimKiem.Cookie; thongTinTaiKhoan_GuiBindingSource.EndEdit(); grvTaiKhoanGui.RefreshData(); } else { MessageBox.Show("Trang web yêu cầu đăng nhập để tìm kiếm!\nVui lòng thêm tài khoản trước"); return; } if (_guiTinNhan.Cookie == null) { MessageBox.Show("Kiểm tra lại thông tin đăng nhập!"); return; } } #endregion tkiem = new FormTimKiem(_guiTinNhan, _db); if (tkiem.ShowDialog() == DialogResult.OK) { _timKiemTokenResource = new CancellationTokenSource(); thongTinTaiKhoan_TimKiemBindingSource.Clear(); btnTimKiem.Text = "Dừng"; btnTimKiem.BackColor = Color.Red; lblSoLuongKetQua.Text = "Số lượng kết quả: 0"; grbTimKiem.Text = tkiem.ChuoiTimKiem; //backgroundWorkerTimKiem.RunWorkerAsync(tkiem.ParamTimKiem); await TimKiemTask(tkiem.ParamTimKiem, _timKiemTokenResource.Token); } } else { if (tkiem != null) { tkiem.ParamTimKiem.DungTimKiem = true; } _timKiemTokenResource.Cancel(); backgroundWorkerTimKiem_RunWorkerCompleted(null, null); } }
public static async Task DangNhapAsync(this ThongTinTaiKhoan tk, IGuiTinNhan thaotacweb) { await thaotacweb.DangNhapAsync(tk); }