public static BookMarkFile CreateBookMarkFile(BookMarkFileType fileType) { var retval = new BookMarkFile(); var bookdb = BookDataContext.Get(); var list = fileType == BookMarkFileType.FullFile ? CommonQueries.BookGetAllWhichHaveUserData(bookdb) : CommonQueries.BookGetRecentWhichHaveUserData(bookdb); // We only save some of the BookData fields in a book mark file. // Don't bother with the full file list (total waste of time), or the people list. var trimmedList = new List <BookData>(); foreach (var book in list) { trimmedList.Add(CreateBookMarkBookData(book)); } retval.BookMarkList = trimmedList; return(retval); }
public static async Task SmartSaveAsync(BookMarkFileType saveType) { var preferredName = saveType == BookMarkFileType.RecentOnly ? ThisComputerName() + ".recent" + BookmarkFileDirectory.EXTENSION : "FullBookmarkFile" + BookmarkFileDirectory.EXTENSION ; StorageFolder folder = null; try { folder = await BookmarkFileDirectory.GetBookmarkFolderAsync(); if (folder == null) { folder = await SetSaveFolderAsync(); } if (folder == null) { return; } if (folder != null) { // Make sure the files are in sync first int nread = await SmartReadAsync(); System.Diagnostics.Debug.WriteLine($"Smart save: smart read {nread} files"); var bmf = CreateBookMarkFile(saveType); var str = bmf.AsFileString(); await BookmarkFileDirectory.WriteFileAsync(folder, preferredName, str); } } catch (Exception ex) { App.Error($"Unable to save file {preferredName} to folder {folder} exception {ex.Message}"); } }