private void btnSave_Click(object sender, EventArgs e) { bool blnServerDatabaseConverted = false; try { if (this.dgvChosenPayCategoryDataGridView.Rows.Count == 0) { CustomClientMessageBox.Show("There are NO Selected Cost Centres.\nFix to Continue.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } DialogResult dlgResult = CustomClientMessageBox.Show("Are you absolutely sure you want to Convert the Selected Cost Centre/s to '" + dgvConvertToPayrollTypeDataGridView[0, pvtintConvertToPayrollTypeDataGridViewRowIndex].Value.ToString() + "'", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (dlgResult == DialogResult.Yes) { DataSet DataSet = new DataSet(); DataTable myDataTable = this.pvtDataSet.Tables["PayCategory"].Clone(); for (int intRow = 0; intRow < this.dgvChosenPayCategoryDataGridView.Rows.Count; intRow++) { DataRow drDataRow = myDataTable.NewRow(); drDataRow["COMPANY_NO"] = pvtInt64CompanyNo; drDataRow["PAY_CATEGORY_NO"] = Convert.ToInt32(this.dgvChosenPayCategoryDataGridView[2, intRow].Value); drDataRow["PAY_CATEGORY_TYPE"] = this.dgvChosenPayCategoryDataGridView[1, intRow].Value.ToString(); myDataTable.Rows.Add(drDataRow); } DataSet.Tables.Add(myDataTable); //Compress DataSet pvtbytCompress = clsISClientUtilities.Compress_DataSet(DataSet); object[] objParm = new object[3]; objParm[0] = pvtInt64CompanyNo; objParm[1] = pvtstrToPayCategoryType; objParm[2] = pvtbytCompress; //Backup Internet Database int intReturnCode = (int)clsISUtilities.DynamicFunction("Check_Run", objParm, false); if (intReturnCode == 9) { CustomClientMessageBox.Show("You do NOT have permission to perform this operation.\nSpeak to System Administrator.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); goto btnSave_Click_Continue; } else { if (intReturnCode == 1) { this.tmrProcess.Enabled = false; this.picDatabaseConvertInternet.Image = global::ConvertCostCentre.Properties.Resources.Error; CustomClientMessageBox.Show("There is Currently a Payroll/Time Attendance Run Date Open.\nFix to Continue.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); goto btnSave_Click_Continue; } } pvtintProcessNo = 0; pvtblnShowImage = false; this.picDatabaseBackupInternet.Image = null; this.picDatabaseBackupLocal.Image = null; this.picDatabaseConvertInternet.Image = null; this.picDatabaseConvertLocal.Image = null; this.grbConversionProcess.Visible = true; this.Refresh(); this.tmrProcess.Enabled = true; DateTime dtDateTimeNext = DateTime.Now.AddSeconds(pvtintTimeDelaySeconds); clsISUtilities.Set_New_BusinessObjectName("busBackupRestoreDatabase"); objParm = new object[2]; objParm[0] = pvtInt64CompanyNo; objParm[1] = "_Backup_Before_CostCentre_Conversion"; //Backup Internet Database intReturnCode = (int)clsISUtilities.DynamicFunction("Backup_DataBase_New", objParm, false); if (intReturnCode != 0) { this.tmrProcess.Enabled = false; this.picDatabaseBackupInternet.Image = global::ConvertCostCentre.Properties.Resources.Error; CustomClientMessageBox.Show("Error Backing up Internet Database.\nFix to Continue.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); goto btnSave_Click_Continue; } while (DateTime.Now < dtDateTimeNext) { Application.DoEvents(); } this.picDatabaseBackupInternet.Image = global::ConvertCostCentre.Properties.Resources.Ok; this.pvtintProcessNo += 1; dtDateTimeNext = DateTime.Now.AddSeconds(pvtintTimeDelaySeconds); //Reset Class clsISUtilities.Set_New_BusinessObjectName("busConvertCostCentre"); this.pnlDatabaseLocalBackup.Visible = true; this.Refresh(); clsISClientUtilities.Set_New_BusinessObjectName("busBackupRestoreClientDatabase"); objParm = new object[1]; objParm[0] = "_Backup_Before_CostCentre_Conversion"; //Backup Client Database intReturnCode = (int)clsISClientUtilities.DynamicFunction("Backup_DataBase_New", objParm, false); if (intReturnCode != 0) { this.tmrProcess.Enabled = false; this.picDatabaseBackupLocal.Image = global::ConvertCostCentre.Properties.Resources.Error; CustomClientMessageBox.Show("Error Backing up Client Database.\nFix to Continue.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); goto btnSave_Click_Continue; } while (DateTime.Now < dtDateTimeNext) { Application.DoEvents(); } this.picDatabaseBackupLocal.Image = global::ConvertCostCentre.Properties.Resources.Ok; this.pvtintProcessNo += 1; dtDateTimeNext = DateTime.Now.AddSeconds(pvtintTimeDelaySeconds); //Reset Class clsISClientUtilities.Set_New_BusinessObjectName("busClientConvertCostCentre"); objParm = new object[3]; objParm[0] = pvtInt64CompanyNo; objParm[1] = pvtstrToPayCategoryType; objParm[2] = pvtbytCompress; //Convert Server intReturnCode = (int)clsISUtilities.DynamicFunction("Convert_Records", objParm, false); if (intReturnCode == 0) { blnServerDatabaseConverted = true; while (DateTime.Now < dtDateTimeNext) { Application.DoEvents(); } this.picDatabaseConvertInternet.Image = global::ConvertCostCentre.Properties.Resources.Ok; this.pvtintProcessNo += 1; dtDateTimeNext = DateTime.Now.AddSeconds(pvtintTimeDelaySeconds); //Convert Client Databases clsISClientUtilities.DynamicFunction("Convert_Client_Records", objParm, true); while (DateTime.Now < dtDateTimeNext) { Application.DoEvents(); } this.tmrProcess.Enabled = false; this.picDatabaseConvertLocal.Image = global::ConvertCostCentre.Properties.Resources.Ok; CustomClientMessageBox.Show("Conversion Successful.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } btnSave_Click_Continue: btnCancel_Click(sender, e); } } catch (Exception eException) { this.tmrProcess.Enabled = false; if (pvtintProcessNo == 0) { this.picDatabaseBackupInternet.Image = global::ConvertCostCentre.Properties.Resources.Error; } else { if (pvtintProcessNo == 1) { this.picDatabaseBackupLocal.Image = global::ConvertCostCentre.Properties.Resources.Error; } else { if (pvtintProcessNo == 2) { this.picDatabaseConvertInternet.Image = global::ConvertCostCentre.Properties.Resources.Error; } else { if (pvtintProcessNo == 3) { this.picDatabaseConvertLocal.Image = global::ConvertCostCentre.Properties.Resources.Error; } } } } if (blnServerDatabaseConverted == true) { CustomClientMessageBox.Show("Server Database Converted. / Local Database CONVERT FAILURE.\nURGENT - Speak to System Administrator.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } clsISClientUtilities.ErrorHandler(eException); } }