public bool Backup() { if (Collection.Parameters["ALLOW_AUTOBACKUP"].ToString() == "0") { if (!EpointMessage.MsgYes_No(EpointMessage.GetMessage("BACKUP"), "Y")) { return(false); } } lock (this) { //string strCommand = string.Empty, // strBackupName = string.Empty, // strBackupPath = string.Empty; //strBackupPath = Collection.Parameters["BACKUP_PATH"].ToString(); //strBackupName = Element.sysDatabaseName + "_" + // DateTime.Now.Year + "" + // DateTime.Now.Month.ToString().PadLeft(2, '0') + "" + // DateTime.Now.Day.ToString().PadLeft(2, '0') + "_" + // DateTime.Now.Hour.ToString().PadLeft(2, '0') + "h_" + // DateTime.Now.Minute.ToString().PadLeft(2, '0') + "m_" + // DateTime.Now.Second.ToString().PadLeft(2, '0') + "s"; //strBackupPath = strBackupPath + strBackupName + ".Bak"; //strCommand = "USE MASTER ;" + // "EXEC Sp_addumpdevice 'disk', '" + strBackupName + "', '" + strBackupPath + "' ;" + // "BACKUP DATABASE " + Element.sysDatabaseName + " TO " + strBackupName + "; " + // "USE " + Element.sysDatabaseName; //// strCommand = @"use Epoint; //// EXEC [sp_DBBackup] '" + Element.sysDatabaseName + "', '" + strBackupPath + "'"; //Common.ShowStatus(Languages.GetLanguage("IN_PROCESS") + " backup Database..."); //if (SQLExec.Execute(strCommand)) //{ // EpointMessage.MsgOk("Dữ liệu đã được backup vào tập tin " + strBackupPath); // return true; //} //else //{ // EpointMessage.MsgCancel("Không thể backup được dữ liệu " + strBackupPath); // return false; //} return(EpointMethod.BackupDatabase()); } return(true); }
protected override void OnClosed(EventArgs e) { //if (MessageBox.Show(Element.sysLanguage == enuLanguageType.Vietnamese ? "Bạn có muốn backup dữ liệu không?" : "Would you like to backup database?", "Message", // MessageBoxButtons.YesNoCancel, // MessageBoxIcon.Question, // MessageBoxDefaultButton.Button2) == DialogResult.Cancel) //Backup dữ liệu string strSQLExec; if (!Collection.Parameters.ContainsKey("LASTBACKUP_DATE")) { strSQLExec = "INSERT INTO SYSPARAMETER (Parameter_ID, Parameter_Value, Parameter_Type, Visible, Parameter_Desc, Module_ID) " + " VALUES (@Parameter_ID, @Parameter_Value, @Parameter_Type, @Visible, @Parameter_Desc, @Module_ID)"; Hashtable htPara = new Hashtable(); htPara.Add("PARAMETER_ID", "LASTBACKUP_DATE"); htPara.Add("PARAMETER_VALUE", "1/1/1900"); htPara.Add("PARAMETER_TYPE", "D"); htPara.Add("VISIBLE", "0"); htPara.Add("PARAMETER_DESC", "Ngày backup cuối cùng"); htPara.Add("MODULE_ID", 7001); if (SQLExec.Execute(strSQLExec, htPara, CommandType.Text)) Collection.Parameters.Add("LASTBACKUP_DATE", "1/1/1900"); } if (!Collection.Parameters.ContainsKey("BACKUP_PERIOD")) { strSQLExec = "INSERT INTO SYSPARAMETER (Parameter_ID, Parameter_Value, Parameter_Type, Visible, Parameter_Desc, Module_ID) " + " VALUES (@Parameter_ID, @Parameter_Value, @Parameter_Type, @Visible, @Parameter_Desc, @Module_ID)"; Hashtable htPara = new Hashtable(); htPara.Add("PARAMETER_ID", "BACKUP_PERIOD"); htPara.Add("PARAMETER_VALUE", 7); htPara.Add("PARAMETER_TYPE", "N"); htPara.Add("VISIBLE", "1"); htPara.Add("PARAMETER_DESC", "Kỳ hạn backup"); htPara.Add("MODULE_ID", 7001); if (SQLExec.Execute(strSQLExec, htPara, CommandType.Text)) Collection.Parameters.Add("BACKUP_PERIOD", "7"); } if (Collection.Parameters.ContainsKey("LASTBACKUP_DATE") && Collection.Parameters.ContainsKey("BACKUP_PERIOD")) { object objLastBackupDate = DataTool.SQLGetNameByCode("SYSPARAMETER", "Parameter_ID", "Parameter_Value", "LASTBACKUP_DATE"); object objBackupPeriod = DataTool.SQLGetNameByCode("SYSPARAMETER", "Parameter_ID", "Parameter_Value", "BACKUP_PERIOD"); DateTime dLastBackupDate; if (!DateTime.TryParse((string)objLastBackupDate, out dLastBackupDate)) dLastBackupDate = Convert.ToDateTime("1/1/1900"); int iBackupPeriod; if (!int.TryParse((string)objBackupPeriod, out iBackupPeriod)) iBackupPeriod = 7; if (iBackupPeriod > 0 && DateTime.Now.Subtract(dLastBackupDate).TotalDays >= iBackupPeriod) { if (EpointMethod.BackupDatabase()) { SQLExec.Execute("UPDATE SYSPARAMETER SET Parameter_Value = '" + Library.DateToStr(DateTime.Now) + "' WHERE Parameter_ID = 'LASTBACKUP_DATE'"); } } } base.OnClosed(e); }