public async Task <bool> BackupUserDataAsync(Catel.IO.ApplicationDataTarget applicationDataTarget) { var assembly = AssemblyHelper.GetEntryAssembly(); var applicationDataDirectory = _appDataService.GetApplicationDataDirectory(applicationDataTarget); _saveFileService.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); _saveFileService.FileName = string.Format("{0} backup {1}.zip", assembly.Title(), DateTime.Now.ToString("yyyyMMdd hhmmss")); _saveFileService.Filter = "Zip files|*.zip"; if (!await _saveFileService.DetermineFileAsync()) { return(false); } var zipFileName = _saveFileService.FileName; Log.Debug("Writing zip file to '{0}'", zipFileName); using (var zipFile = new ZipFile()) { zipFile.AddDirectory(applicationDataDirectory, null); zipFile.Save(zipFileName); } return(true); }
public bool OpenApplicationDataDirectory(Catel.IO.ApplicationDataTarget applicationDataTarget) { Log.Info("Opening data directory"); var applicationDataDirectory = _appDataService.GetApplicationDataDirectory(applicationDataTarget); _processService.StartProcess(applicationDataDirectory); return(true); }
public bool OpenApplicationDataDirectory(Catel.IO.ApplicationDataTarget applicationDataTarget) { Log.Info("Opening data directory"); var applicationDataDirectory = _appDataService.GetApplicationDataDirectory(applicationDataTarget); _processService.StartProcess(new ProcessContext { FileName = "explorer.exe", Arguments = applicationDataDirectory }); return(true); }
public async Task DeleteUserDataAsync(Catel.IO.ApplicationDataTarget applicationDataTarget) { var applicationDataDirectory = _appDataService.GetApplicationDataDirectory(applicationDataTarget); Log.Debug("Deleting user data from '{0}'", applicationDataDirectory); var exclusionFilters = ExclusionFilters; var allFiles = _directoryService.GetFiles(applicationDataDirectory, "*.*", SearchOption.AllDirectories); foreach (var fileName in allFiles) { if (!MatchesFilters(exclusionFilters, fileName)) { _fileService.Delete(fileName); } } }
/// <summary> /// Gets the configuration file name for the specified application data target. /// </summary> /// <param name="applicationDataTarget">The application data target.</param> /// <returns>Returns the full configuration filename for the specified application data target.</returns> protected virtual string GetConfigurationFileName(Catel.IO.ApplicationDataTarget applicationDataTarget) { var filename = Path.Combine(_appDataService.GetApplicationDataDirectory(applicationDataTarget), "configuration.xml"); return(filename); }