Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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}");
            }
        }