示例#1
0
        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;
            }
        }