private void InitData(object sender, System.ComponentModel.DoWorkEventArgs e) { BackgroundWorker bg = (BackgroundWorker)sender; try { bg.ReportProgress(1, "Đang tìm tập tin cấu hình!"); //Kiem tra tap tinh cau hinh //WaitTime(1); if (File.Exists(Application.StartupPath + @"\QLKHO.exe.config")) { bg.ReportProgress(1, "Đang đọc tập tin cấu hình, nạp vào chương trình."); _ConfigItem = LoadConfigFileInfo(); // WaitTime(1); } else { ShowMessageBox("FLASHSCREEN_E_000"); Close(); //WaitTime(1); bg.ReportProgress(1, EVENT_CLOSE_APP); } //load thong tin resource: Neu khong co thong tin tai nguyenm dung lai thong bao loi, ket thuc bg.ReportProgress(1, "Kiểm tra thông tin tài nguyên!"); //AppDebug("dskfjdlfj"); //WaitTime(1); if (File.Exists(Application.StartupPath + "\\Resources\\Messages.xml")) { bg.ReportProgress(1, "'Messages.xml' đã được nạp vào chương trình!"); //WaitTime(1); } else { ShowMessageBox("FLASHSCREEN_E_001"); Close(); // WaitTime(1); bg.ReportProgress(1, EVENT_CLOSE_APP); } //load tap hop cac component hien co tai thu muc chuong trinh: Neu khong co cac component bat buoc, thong bao loi, va dung lai bg.ReportProgress(3, "Đang đọc các thành phần của ứng dụng!"); // WaitTime(1); if (File.Exists(Application.StartupPath + "\\COREBASE.dll")) { //WaitTime(2); bg.ReportProgress(1, "'COREBASE.dll' đang nạp vào ứng dụng."); } else { object[] obj = new object[1]; obj[0] = "COREBASE.dll"; ShowMessageBox("FLASHSCREEN_E_003", COREBASE.COMMAND.MessageUtils.MessageType.ERROR, obj); Close(); //WaitTime(1); bg.ReportProgress(1, EVENT_CLOSE_APP); } //kiem tra ket noi voi server: Neu ket noi khong duoc, thong bao loi, dung lai bg.ReportProgress(3, "Đang thử thiết lập kết nối đến máy chủ!"); //WaitTime(1); _providerSQL = new COREBASE.COMMAND.SQL.AccessSQL(_ConfigItem); if (_providerSQL.CheckConnect()) { bg.ReportProgress(3, "Kết nối đến máy chủ thành công!"); // WaitTime(1); } else { ShowMessageBox("FLASHSCREEN_E_002"); Close(); //WaitTime(1); bg.ReportProgress(1, EVENT_CLOSE_APP); //TODO:Thong bao, ke noi khong duoc; ket thuc form //TODO: neu co the, bat form cau hinh de nguoi dung edit lai. } //Lay thong tin cac component o server"TABLE FUNCTION": Neu co conponent bi that lat, canh bao cho nguoi dung, va hoi co tiep tuc chay kkhong? //Neu con co, thi chay va waring cho nguoi dung bit la chuc nang do khong duoc su dung, va ung dung chay co the phat sinh loi //bg.ReportProgress(3, "Đang kiểm chứng thực thành phần!"); // WaitTime(1); //Kiem tra thong tin ban quyen cua nguoi dung, neu khong co thi yeu cau nguoi dung nahpp vo //Kiem tra thong tin nguoi dung dang nhap co hay chua? neu chua xuat hien wizad de nguoi dung nhap thong tin nguoi dung de dang nhap vao chuong trinh //bg.ReportProgress(3, "Đang kiểm thông tin người dùng!"); //WaitTime(1); //Lay thong tin nguoi dung load len bg.ReportProgress(3, "Đang đọc danh sách người dùng!"); // WaitTime(1); tbUser = COREBASE.COMMAND.VPP_COMMAND.CUser.ListUser(_ConfigItem); if (tbUser.Rows.Count < 1) { //TODO: chua co nguoi dung, show dialog de cho nguoi dung tao nguoi dung } //Chuan bi thu muc ghi log bg.ReportProgress(3, "Đang kiểm tra thông tin nhật ký!"); //WaitTime(1); bg.ReportProgress(100, string.Empty); DialogResult = DialogResult.OK; } catch (Exception ex) { AppError(ex); //throw ex; DialogResult = System.Windows.Forms.DialogResult.No; } }