public ISearchResults GetNotesMetaList(string searchString, NoteSortOrder sortOrder, bool ascending, int resultsPage, int pageSize) { NoteFilter noteFilter = new NoteFilter(); noteFilter.Words = searchString; noteFilter.Order = (int)sortOrder; noteFilter.Ascending = ascending; NotesMetadataResultSpec resultsSpec = new NotesMetadataResultSpec(); resultsSpec.IncludeTitle = true; resultsSpec.IncludeCreated = true; resultsSpec.IncludeNotebookGuid = true; resultsSpec.IncludeUpdated = true; resultsSpec.IncludeAttributes = true; resultsSpec.IncludeTagGuids = true; resultsSpec.IncludeContentLength = true; NotesMetadataList noteMetadataList; try { if (resultsPage < 1) { resultsPage = 1; } if (pageSize > 100) { pageSize = 100; } noteMetadataList = noteStore.findNotesMetadata(credentials.AuthToken, noteFilter, (resultsPage - 1) * pageSize, pageSize, resultsSpec); } catch (EDAMUserException) { throw new EvernoteServiceSDK1AuthorisationException(); } List <ENNoteMetadataINoteMetadataAdapter> notesMetaWrapperList = noteMetadataList.Notes.ConvertAll(noteMeta => new ENNoteMetadataINoteMetadataAdapter(noteMeta)); return(new SearchResults() { NotesMetadata = notesMetaWrapperList.ToList <INoteMetadata>(), TotalResults = noteMetadataList.TotalNotes }); }
public override void StartSync(IRemoteStorageSyncPersistance data, List <INote> localnotes, List <INote> localdeletednotes) { _data = (EvernoteData)data; RefreshToken(); TTransport noteStoreTransport = new THttpClient(new Uri(@"https://sandbox.evernote.com/shard/s1/notestore")); //TODO use url from OAuth TProtocol noteStoreProtocol = new TBinaryProtocol(noteStoreTransport); nsClient = new NoteStore.Client(noteStoreProtocol); var state = nsClient.getSyncState(_token); if (_data.SyncStateUpdateCount != state.UpdateCount) { _logger.Debug(EvernotePlugin.Name, string.Format("Remote has changed SyncState: {0} -> '{1}'", _data.SyncStateUpdateCount, state.UpdateCount)); NoteFilter filter = new NoteFilter(); filter.Order = (int)NoteSortOrder.UPDATED; NotesMetadataResultSpec spec = new NotesMetadataResultSpec(); spec.IncludeUpdateSequenceNum = true; bucket = nsClient.findNotesMetadata(_token, filter, 0, 9999, spec); _data.SyncStateUpdateCount = state.UpdateCount; } else { _logger.Debug(EvernotePlugin.Name, "Remote has not changed - no need for download - SyncState := " + state.UpdateCount); bucket = null; } remoteDirty = false; }