Ejemplo n.º 1
0
        /// <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>());
        }
Ejemplo n.º 2
0
        /// <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 <List <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,
                Count       = count,
                Offset      = offset
            };

            Retrieve response = await Request <Retrieve>("get", cancellationToken, parameters.Convert());

            return(response.Items);
        }
Ejemplo n.º 3
0
        /// <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 <List <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;

            Retrieve response = await Request <Retrieve>("get", cancellationToken, parameters.Convert());

            return(response.Items);
        }