Example #1
0
        void AppendInclude(StringBuilder sb, PostIncludes includes)
        {
            var requireComma = false;

            if (includes.HasFlag(PostIncludes.Comments))
            {
                if (requireComma)
                {
                    sb.Append(",");
                }
                sb.Append("comments");
                requireComma = true;
            }
            if (includes.HasFlag(PostIncludes.CommentsStargazers))
            {
                if (requireComma)
                {
                    sb.Append(",");
                }
                sb.Append("comments.stargazers");
                requireComma = true;
            }
            if (includes.HasFlag(PostIncludes.Stargazers))
            {
                if (requireComma)
                {
                    sb.Append(",");
                }
                sb.Append("stargazers ");
                requireComma = true;
            }
        }
Example #2
0
        public Task <Post> GetPostAsync(string teamName, int postNumber, PostIncludes include = PostIncludes.None)
        {
            var url = BuildStringBuilderWithTeamName(teamName);

            url.Append("/posts/");
            url.Append(postNumber);
            AppendInclude(url, include);

            return(ReadMessage <Post>(httpClient.GetAsync(url.ToString())));
        }
Example #3
0
        public Task <Post[]> GetPostsAsync(string teamName, string query, PostIncludes include = PostIncludes.None, PostSort sort = PostSort.Updated, PostOrder order = PostOrder.Desc, int perPage = 20)
        {
            var url = BuildStringBuilderWithTeamName(teamName);

            url.Append("/posts");
            url.Append("?q="); url.Append(query);
            url.Append("&include="); AppendInclude(url, include);
            url.Append("&sort="); AppendSort(url, sort);
            url.Append("&order="); AppendOrder(url, order);
            url.Append("&per_page="); url.Append(perPage);

            return(ReadPaginiationMesasge <Post>(url.ToString()));
        }