//Backup DoWork
        private void DatabaseBackupDoWorker(object sender, DoWorkEventArgs e)
        {
            string copyFileName = string.Empty;

            databaseBackupWorker.ReportProgress(0);
            string BackupFileName     = new MDBackupRestoreNecessaryElementClass().BackupFileNameMaker(VariableClass.MYSQL_DATABASE_NAME);
            string encryptFileName    = string.Format("AB{0}", BackupFileName);
            string compreshedFileName = string.Format("{0}.gz", encryptFileName);

            copyFileName = compreshedFileName;
            databaseBackupWorker.ReportProgress(10);
            MysqlBackupVariablesClass.MYSQL_CONNECTION_STRING[0] = Properties.Settings.Default.DatabaseHostIP;
            MysqlBackupVariablesClass.MYSQL_CONNECTION_STRING[1] = Properties.Settings.Default.DatabasePortNumber;
            MysqlBackupVariablesClass.MYSQL_CONNECTION_STRING[2] = Properties.Settings.Default.DatabaseDatabaseName;
            MysqlBackupVariablesClass.MYSQL_CONNECTION_STRING[3] = Properties.Settings.Default.DatabaseUsername;
            MysqlBackupVariablesClass.MYSQL_CONNECTION_STRING[4] = Properties.Settings.Default.DatabasePassword;
            new MysqlDataBackupRestoreClass().DataBaseBackup(VariableClass.MYSQL_DATABASE_NAME, System.IO.Path.Combine(new ProcestaNecessaryFunction.NecessaryFunction().GetTempFolder(VariableClass.ERROR_MESSAGES[1, 2]), BackupFileName));
            encryptFileName    = System.IO.Path.Combine(new ProcestaNecessaryFunction.NecessaryFunction().GetTempFolder(VariableClass.ERROR_MESSAGES[1, 2]), encryptFileName);
            compreshedFileName = System.IO.Path.Combine(new ProcestaNecessaryFunction.NecessaryFunction().GetTempFolder(VariableClass.ERROR_MESSAGES[1, 2]), compreshedFileName);
            BackupFileName     = System.IO.Path.Combine(new ProcestaNecessaryFunction.NecessaryFunction().GetTempFolder(VariableClass.ERROR_MESSAGES[1, 2]), BackupFileName);
            databaseBackupWorker.ReportProgress(20);
            FileOperations.EncryptFile(BackupFileName, encryptFileName);
            databaseBackupWorker.ReportProgress(30);
            File.Delete(BackupFileName);
            databaseBackupWorker.ReportProgress(40);
            new GZFormate().CompressToGZip(encryptFileName);
            databaseBackupWorker.ReportProgress(50);
            File.Delete(encryptFileName);
            databaseBackupWorker.ReportProgress(60);
            try
            {
                if (Properties.Settings.Default.SaveLocalComputer)
                {
                    File.Copy(compreshedFileName, System.IO.Path.Combine(Properties.Settings.Default.LastSavePath, copyFileName));
                }
                if (Properties.Settings.Default.AttachEmail)
                {
                    string eMailBody = string.Format("Automatically Send By {0} At {1} From {2}", VariableClass.ERROR_MESSAGES[0, 0], DateTime.Now, Properties.Settings.Default.SendMailFromAddress);
                    new ProcestaSendMail(Properties.Settings.Default.SendMailFromAddress, Properties.Settings.Default.SendMailPassword, Properties.Settings.Default.SmtpServer, Properties.Settings.Default.SendMailPortNumber, Properties.Settings.Default.SendMailToAddress, "Petunia Database", eMailBody, compreshedFileName);
                }
                if (Properties.Settings.Default.SkyDrive)
                {
                    new UploadSkyDrive(Properties.Settings.Default.SkyDiveEmailID, Properties.Settings.Default.SkyDrivePassword, string.Format("{0} Backup", VariableClass.ERROR_MESSAGES[0, 0]), compreshedFileName);
                }
                databaseBackupWorker.ReportProgress(70);
            }
            catch
            {
                e.Cancel = true;
            }
            finally
            {
                File.Delete(compreshedFileName);
                databaseBackupWorker.ReportProgress(70);
            }
        }
 //Backup DoWork
 private void DatabaseBackupDoWorker(object sender, DoWorkEventArgs e)
 {
     string copyFileName = string.Empty;
     databaseBackupWorker.ReportProgress(0);
     string BackupFileName = new MDBackupRestoreNecessaryElementClass().BackupFileNameMaker(VariableClass.MYSQL_DATABASE_NAME);
     string encryptFileName= string.Format("AB{0}",BackupFileName);
     string compreshedFileName =string.Format("{0}.gz",encryptFileName);
     copyFileName = compreshedFileName;
     databaseBackupWorker.ReportProgress(10);
     MysqlBackupVariablesClass.MYSQL_CONNECTION_STRING[0] = Properties.Settings.Default.DatabaseHostIP;
     MysqlBackupVariablesClass.MYSQL_CONNECTION_STRING[1] = Properties.Settings.Default.DatabasePortNumber;
     MysqlBackupVariablesClass.MYSQL_CONNECTION_STRING[2] = Properties.Settings.Default.DatabaseDatabaseName;
     MysqlBackupVariablesClass.MYSQL_CONNECTION_STRING[3] = Properties.Settings.Default.DatabaseUsername;
     MysqlBackupVariablesClass.MYSQL_CONNECTION_STRING[4] = Properties.Settings.Default.DatabasePassword;
     new MysqlDataBackupRestoreClass().DataBaseBackup(VariableClass.MYSQL_DATABASE_NAME, System.IO.Path.Combine(new ProcestaNecessaryFunction.NecessaryFunction().GetTempFolder(VariableClass.ERROR_MESSAGES[1,2]),BackupFileName));
     encryptFileName = System.IO.Path.Combine(new ProcestaNecessaryFunction.NecessaryFunction().GetTempFolder(VariableClass.ERROR_MESSAGES[1, 2]), encryptFileName);
     compreshedFileName = System.IO.Path.Combine(new ProcestaNecessaryFunction.NecessaryFunction().GetTempFolder(VariableClass.ERROR_MESSAGES[1, 2]), compreshedFileName);
     BackupFileName = System.IO.Path.Combine(new ProcestaNecessaryFunction.NecessaryFunction().GetTempFolder(VariableClass.ERROR_MESSAGES[1, 2]), BackupFileName);
     databaseBackupWorker.ReportProgress(20);
     FileOperations.EncryptFile(BackupFileName, encryptFileName);
     databaseBackupWorker.ReportProgress(30);
     File.Delete(BackupFileName);
     databaseBackupWorker.ReportProgress(40);
     new GZFormate().CompressToGZip(encryptFileName);
     databaseBackupWorker.ReportProgress(50);
     File.Delete(encryptFileName);
     databaseBackupWorker.ReportProgress(60);
     try
     {
         if (Properties.Settings.Default.SaveLocalComputer)
         {
             File.Copy(compreshedFileName, System.IO.Path.Combine(Properties.Settings.Default.LastSavePath, copyFileName));
         }
         if (Properties.Settings.Default.AttachEmail)
         {
             string eMailBody = string.Format("Automatically Send By {0} At {1} From {2}", VariableClass.ERROR_MESSAGES[0, 0], DateTime.Now, Properties.Settings.Default.SendMailFromAddress);
             new ProcestaSendMail(Properties.Settings.Default.SendMailFromAddress, Properties.Settings.Default.SendMailPassword, Properties.Settings.Default.SmtpServer, Properties.Settings.Default.SendMailPortNumber, Properties.Settings.Default.SendMailToAddress, "Petunia Database", eMailBody, compreshedFileName);
         }
         if (Properties.Settings.Default.SkyDrive)
         {
             new UploadSkyDrive(Properties.Settings.Default.SkyDiveEmailID, Properties.Settings.Default.SkyDrivePassword, string.Format("{0} Backup", VariableClass.ERROR_MESSAGES[0, 0]), compreshedFileName);
         }
         databaseBackupWorker.ReportProgress(70);
     }
     catch
     {
         e.Cancel=true;
     }
     finally
     {
         File.Delete(compreshedFileName);
         databaseBackupWorker.ReportProgress(70);
     }
 }