public static async Task <bool> Backup(string fileName = null) { // Získání id složky string folderId = await LiveConnectHelper.SearchFolderIdAsync(BackupFolderName); if (folderId == null) { folderId = await LiveConnectHelper.CreateFolderAsync(LiveConnectHelper.Root, BackupFolderName); } // Nahrajeme soubor a získáme jeho id string fileId = null; if (folderId != null) { // Vytvoření dat BackupData backupData = new BackupData(); backupData.Version = App.VersionString; backupData.Created = DateTime.UtcNow; backupData.Settings = Settings.Current; backupData.Tasks = App.Tasks.Tasks; #if DEBUG Formatting formatting = Formatting.Indented; #else Formatting formatting = Formatting.None; #endif string json = JsonConvert.SerializeObject(backupData, formatting); // Nahrání fileName = string.Format("{0}{1}", fileName ?? DateTime.Now.ToFileName(), BackupFileExtension); fileId = await LiveConnectHelper.UploadAsync(folderId, fileName, json); } return(fileId != null); }
private async Task RefreshBackupList() { // Získání souborů List <OneDriveFileInfo> files = new List <OneDriveFileInfo>(); if (IsLoggedIn) { // Získání složky string folderId = await LiveConnectHelper.SearchFolderIdAsync(BackupFolderName); // Získání seznamu souborů se zálohami if (folderId != null) { files = await LiveConnectHelper.GetFilesInfoAsync(folderId, BackupFileExtension); } } // Vytvoření seznamu List <RestoreListPickerItem> list = new List <RestoreListPickerItem>(); foreach (OneDriveFileInfo fileInfo in files) { string fileName = fileInfo.Name.Replace(BackupFileExtension, ""); try { DateTime createdDate = DateTimeExtensions.FromFileName(fileName); list.Add(new RestoreListPickerItem(createdDate.ToString(), fileInfo, createdDate)); } catch (FormatException) { // Při parsování datumu, takže } } // Seřazení podle vytvoření list.Sort((f1, f2) => { return(f2.Value2.CompareTo(f1.Value2)); }); if (list.Count > _maxBackupsInList) { list.RemoveRange(_maxBackupsInList, list.Count - _maxBackupsInList); } // Naplnění pickeru if (list.Count > 0) { list[0].Label += string.Format(" ({0})", AppResources.BackupLatest); BackupList = new ObservableCollection <RestoreListPickerItem>(list); } else { BackupList.Clear(); BackupList.Add(new RestoreListPickerItem(AppResources.NoBackups, null, DateTime.MinValue)); } }