/// <summary>
        /// searches all suggestions in a forum
        /// </summary>
        /// <param name="subdomain">the site's subdomain</param>
        /// <param name="forumId">the forumId</param>
        /// <param name="query">the search query</param>
        /// <param name="consumerKey">your conusmer key</param>
        /// <param name="consumerSecret">your consumer secret</param>
        /// <param name="page">the result's page</param>
        /// <param name="perPage">number of entries per page</param>
        /// <param name="sort">the status used to order results</param>
        /// <returns>all suggestions that match the search query in a forum</returns>
        public async Task <SuggestionsResult> SearchSuggesstions(string subdomain, string query, string consumerKey, string consumerSecret, int forumId, int page = 1, int perPage = 10, SuggestionSort sort = SuggestionSort.newest, SuggestionStatusesResult.Status status = null)
        {
            SuggestionsResult result = new SuggestionsResult();

            IRestResponse response = await GetSearchSuggestionsResponse(subdomain, query, consumerKey, consumerSecret, forumId, page, perPage, sort, status);

            if (response.StatusCode == HttpStatusCode.OK)
            {
                string jsonContent = Encoding.UTF8.GetString(response.RawBytes, 0, response.RawBytes.Length);

                result = JsonConvert.DeserializeObject <SuggestionsResult>(jsonContent);
            }

            return(result);
        }
        /// <summary>
        /// request to search all suggestions in a forum
        /// </summary>
        /// <param name="subdomain">the site's subdomain</param>
        /// <param name="forumId">the forumId</param>
        /// <param name="query">the search query</param>
        /// <param name="consumerKey">your conusmer key</param>
        /// <param name="consumerSecret">your consumer secret</param>
        /// <param name="page">the result's page</param>
        /// <param name="perPage">number of entries per page</param>
        /// <param name="sort">the status used to order results</param>
        /// <returns>the response for the search request of all suggestions in a forum</returns>
        private async Task <IRestResponse> GetSearchSuggestionsResponse(string subdomain, string query, string consumerKey, string consumerSecret, int forumId, int page = 1, int perPage = 10, SuggestionSort sort = SuggestionSort.newest, SuggestionStatusesResult.Status status = null)
        {
            _client = new RestClient(string.Format("https://{0}.uservoice.com/api/v1/forums/{1}/suggestions/", subdomain, forumId));
            _client.Authenticator = OAuth1Authenticator.ForProtectedResource(consumerKey, consumerSecret, null, null);

            RestRequest request = new RestRequest("search.json", HttpMethod.Get);

            request.AddHeader("If-Modified-Since", DateTime.Now.ToUniversalTime().ToString("R"));


            request.AddParameter("query", query);
            request.AddParameter("sort", sort);
            if (status != null && status.id != 0)
            {
                request.AddParameter("status_id", status.id);
            }
            request.AddParameter("page", page);
            request.AddParameter("per_page", perPage);

            return(await _client.Execute(request));
        }