Esempio n. 1
0
 public void RunRestore()
 {
     try
     {
         RestoreProcess restoreProcess = new RestoreProcess();
         //BackupItem selectedBackupItem = gridView2.GetFocusedRow() as BackupItem;
         string destFolder = $"{GetProfileFolder(profile.Id, profile.Name)}";
         restoreProcess.ExtractFileToDirectory(BackUpFilePath, destFolder);
         // get backup profile
         var profilePath = $"{destFolder}\\{Constants.ProfileBackUpFileName}";
         if (File.Exists(profilePath))
         {
             var mySerializer = new XmlSerializer(typeof(ProfileXML));
             // To read the file, create a FileStream.
             var myFileStream = new FileStream(profilePath, FileMode.Open);
             // Call the Deserialize method and cast to the object type.
             var savedProfile = (ProfileXML)mySerializer.Deserialize(myFileStream);
             myFileStream.Close();
             UpdateAutomationProfile(savedProfile);
             File.Delete(profilePath);
         }
     }
     catch (Exception ex)
     {
     }
 }
Esempio n. 2
0
        public static void RestoreData(string theRarFile, RestoreStatus theRuningStatusInSession)
        {
            StartFlag(theRuningStatusInSession);

            try
            {
                //读入静态配置表
                StartLittleProcess(theRuningStatusInSession, StaticConfigTable.ReadToTableToString());
                StaticConfigTable.ReadToTable();

                //准备所需文件夹
                StartLittleProcess(theRuningStatusInSession, DiskOperations.PrepareForRestoreToString());
                DiskOperations.PrepareForRestore();

                //检查Rar压缩器
                StartLittleProcess(theRuningStatusInSession, CommandRunner.CheckRarReadyToString());
                CommandRunner.CheckRarReady();

                //配置日志对象
                StartLittleProcess(theRuningStatusInSession, TransferDataLogManager.TryConfigLogObjToString());
                TransferDataLogManager.TryConfigLogObj();

                //解析Rar数据
                StartLittleProcess(theRuningStatusInSession, TransferConfig.AnalyseRarDataToString());
                DateTime?    fromDay;
                DateTime?    toDay;
                TransferRule theTransferRule = TransferConfig.AnalyseRarData(theRarFile, out fromDay, out toDay, DiskOperations.DataTemp_ForRestoreDirectory, false, false);

                //根据规则起另外线程开始工作
                RestoreProcess rp = StartRestore;
                rp.BeginInvoke(theTransferRule, fromDay, toDay, theRuningStatusInSession, null, null);
            }
            catch (ApplicationException ae)
            {
                FailedFlag(theRuningStatusInSession, ae.Message);
            }
        }