コード例 #1
0
        public static ObservableCollection <BackupVM> GetBackupVMs()
        {
            ObservableCollection <BackupVM> backupVMs = new ObservableCollection <BackupVM>();
            string        shortcutsBackupPath         = Helper.GetShortcutsBackupPath();
            DirectoryInfo directoryInfo = new DirectoryInfo(shortcutsBackupPath);
            // https://stackoverflow.com/questions/1179970/how-to-find-the-most-recent-file-in-a-directory-using-net-and-without-looping
            //IOrderedEnumerable<FileInfo> fileInfos = directory.GetFiles().OrderByDescending(f => f.LastWriteTime);
            IOrderedEnumerable <FileInfo> fileInfos = directoryInfo.GetFiles().OrderByDescending(f => f.Name);

            foreach (FileInfo fileInfo in fileInfos)
            {
                string   fileName = fileInfo.Name;
                string   fileSize = fileInfo.Length.ToString() + " bytes";
                BackupVM backupVM = new BackupVM(fileName, fileSize);
                backupVMs.Add(backupVM);
            }
            return(backupVMs);
        }
コード例 #2
0
        /// <summary>
        /// Create a backup of the current windows & shortcuts.
        /// </summary>
        /// <returns></returns>
        public static string BackupShortcuts()
        {
            // Get the application context
            ShortcutsVM shortcutsVM         = ((App)Application.Current).DataContext;
            Shortcuts   shortcuts           = ContextHelper.VMToShortcuts(shortcutsVM);
            string      shortcutsSerialized = JsonConvert.SerializeObject(shortcuts);
            string      shortcutsBackupPath = Helper.GetShortcutsBackupPath();
            DateTime    dateTime            = DateTime.Now;
            string      backupFileName      = dateTime.ToString("yyyyMMdd_HHmmss_fff", CultureInfo.InvariantCulture);
            string      backupFilePath      = Path.Combine(shortcutsBackupPath, backupFileName);

            FileIO.WriteFile(backupFilePath, shortcutsSerialized, false);
            FileInfo fileInfo = new FileInfo(backupFilePath);
            string   fileSize = fileInfo.Length.ToString() + " bytes";
            // Update the shortcutsVM
            BackupVM backupVM = new BackupVM(backupFileName, fileSize);

            shortcutsVM.BackupVMs.Add(backupVM);
            shortcutsVM.BackupVMs.Sort((a, b) => { return(b.FileName.CompareTo(a.FileName)); });
            return(backupFileName);
        }