/// <summary> /// Retrieves items from pocket /// with the given filters /// </summary> /// <param name="state">The state.</param> /// <param name="favorite">The favorite.</param> /// <param name="tag">The tag.</param> /// <param name="contentType">Type of the content.</param> /// <param name="sort">The sort.</param> /// <param name="search">The search.</param> /// <param name="domain">The domain.</param> /// <param name="since">The since.</param> /// <param name="count">The count.</param> /// <param name="offset">The offset.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> /// <exception cref="PocketException"></exception> public async Task<IEnumerable<PocketItem>> Get( State? state = null, bool? favorite = null, string tag = null, ContentType? contentType = null, Sort? sort = null, string search = null, string domain = null, DateTime? since = null, int? count = null, int? offset = null, CancellationToken cancellationToken = default(CancellationToken) ) { RetrieveParameters parameters = new RetrieveParameters() { State = state, Favorite = favorite, Tag = tag, ContentType = contentType, Sort = sort, DetailType = DetailType.complete, Search = search, Domain = domain, Since = since.HasValue ? ((DateTime)since).ToUniversalTime() : since, Count = count, Offset = offset }; return (await Request<Retrieve>("get", cancellationToken, parameters.Convert())).Items ?? new List<PocketItem>(); }
/// <summary> /// Retrieves all items by a given filter /// </summary> /// <param name="filter">The filter.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> /// <exception cref="PocketException"></exception> public async Task<IEnumerable<PocketItem>> Get(RetrieveFilter filter, CancellationToken cancellationToken = default(CancellationToken)) { RetrieveParameters parameters = new RetrieveParameters(); switch (filter) { case RetrieveFilter.Article: parameters.ContentType = ContentType.article; break; case RetrieveFilter.Image: parameters.ContentType = ContentType.image; break; case RetrieveFilter.Video: parameters.ContentType = ContentType.video; break; case RetrieveFilter.Favorite: parameters.Favorite = true; break; case RetrieveFilter.Unread: parameters.State = State.unread; break; case RetrieveFilter.Archive: parameters.State = State.archive; break; case RetrieveFilter.All: parameters.State = State.all; break; } parameters.DetailType = DetailType.complete; return (await Request<Retrieve>("get", cancellationToken, parameters.Convert())).Items; }