private void SaveFavoritesDocument() { if (_cloudUrl == null) { return; } var favorites = _favoritesService.LoadFavorites(); if (favorites == null) { return; } if (_document == null) { var docsFolder = Path.Combine(_cloudUrl.Path, "Documents"); var docPath = Path.Combine(docsFolder, FavoritesService.FavoritesFileName); var ubiq = new NSUrl(docPath, false); var document = new FavoritesDocument(ubiq); document.Save( document.FileUrl, UIDocumentSaveOperation.ForCreating, success => { if (success) { _document = document; _document.Data = favorites; _document.UpdateChangeCount(UIDocumentChangeKind.Done); } }); } else { _document.Data = favorites; _document.UpdateChangeCount(UIDocumentChangeKind.Done); } }
private void LoadFavoritesDocument(NSMetadataQuery query) { if (query.ResultCount == 1) { var item = (NSMetadataItem)query.ResultAtIndex(0); var url = (NSUrl)item.ValueForAttribute(NSMetadataQuery.ItemURLKey); _document = new FavoritesDocument(url); _document.Open(success => { if (success && _document.Data != null) { var favorites = _favoritesService.LoadFavorites(); if (favorites.LastUpdated < _document.Data.LastUpdated) { _favoritesService.SaveFavorites(_document.Data); } } }); } else if (query.ResultCount == 0) { SaveFavoritesDocument(); } }