public List <string> FilterDocumentsByFacets(FilterDocumentsParameters parameters)
        {
            var response = this._httpClient.PostAsync("ML/Filter/Facets", CreateStringContent(parameters)).Result;

            response.EnsureSuccessStatusCode();

            return(JsonConvert.DeserializeObject <List <string> >(response.Content.ReadAsStringAsync().Result));
        }
        private List <string> FilterDocumentsByFacet(IEnumerable <Document> documentsToFilter, List <Facet> mustHaveFacets)
        {
            var filterParameter = new FilterDocumentsParameters
            {
                Documents      = documentsToFilter.Select(d => d.Uri).ToList(),
                MustHaveFacets = mustHaveFacets
            };

            return(this._filterDocuments.FilterDocumentsByFacets(filterParameter));
        }
        private static StringContent CreateStringContent(FilterDocumentsParameters parameters)
        {
            var json = JsonConvert.SerializeObject(parameters);

            return(new StringContent(json, Encoding.UTF8, "application/json"));
        }