public NewsSourcesBuilder Build()
        {
            RequestQueryBuilder query = new RequestQueryBuilder();

            if (mCategory != null)
            {
                query.Add("category", mCategory.ToString().ToLower());
            }

            if (mCountry != null)
            {
                query.Add("country", mCountry.ToString().ToLower());
            }

            if (mLanguage != null)
            {
                query.Add("language", mLanguage.ToString().ToLower());
            }

            mQuery = new UriBuilder("https://newsapi.org/v2/sources")
            {
                Query = query.ToString()
            };

            return(this);
        }
        public EverythingBuilder Build()
        {
            RequestQueryBuilder query = new RequestQueryBuilder();

            if (mCategory != null)
            {
                query.Add("category", mCategory.ToString().ToLower());
            }

            if (mCountry != null)
            {
                query.Add("country", mCountry.ToString().ToLower());
            }

            if (mLanguage != null)
            {
                query.Add("language", mLanguage.ToString().ToLower());
            }

            if (mSearchQuery != null)
            {
                query.Add("q", mSearchQuery.Replace(" ", "%20"));
            }

            if (mSortOrder != null)
            {
                if (mSortOrder == SortOrder.PUBLISHED_AT)
                {
                    query.Add("sortBy", "publishedAt");
                }
                else
                {
                    query.Add("sortBy", mSortOrder.ToString().ToLower());
                }
            }

            if (mSources != null)
            {
                query.Add("sources", String.Join(",", mSources).Replace('_', '-'));
            }

            mQuery = new UriBuilder("https://newsapi.org/v2/everything")
            {
                Query = query.ToString()
            };

            return(this);
        }
        public TopHeadlinesBuilder Build()
        {
            RequestQueryBuilder query = new RequestQueryBuilder();

            if (mCategory != null)
            {
                query.Add("category", mCategory.ToString().ToLower());
            }

            if (mCountry != null)
            {
                query.Add("country", mCountry.ToString().ToLower());
            }

            if (mLanguage != null)
            {
                query.Add("language", mLanguage.ToString().ToLower());
            }

            if (mSearchQuery != null)
            {
                query.Add("q", mSearchQuery.Replace(" ", "%20"));
            }

            if (mSources != null)
            {
                query.Add("sources", String.Join(",", mSources).Replace('_', '-'));
            }

            mQuery = new UriBuilder("https://newsapi.org/v2/top-headlines")
            {
                Query = query.ToString()
            };

            return(this);
        }