Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #4
0
        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);
                }
            }
        }
Beispiel #5
0
        /// <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);
        }