public async Task <HttpResponseMessage> GetTagSearchCount(string csvTagList) { try { var results = await this.azureSearch.StorySearchTagCounts(csvTagList); var stories = new StoryResultSet { Facets = results.Facets, Stories = null, Count = results.Count }; var response = Request.CreateResponse(HttpStatusCode.OK, stories, Configuration.Formatters.JsonFormatter); #if !NO_CACHE_FOR_TESTING_API response.Headers.CacheControl = new CacheControlHeaderValue() { MaxAge = TimeSpan.FromDays(1), Public = true }; #endif return(response); } catch (Exception ex) { return(new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(ex.Message) }); } }
public async Task <HttpResponseMessage> GetStorySearch(string query = "", int?pageSize = 20, int?currentPage = 1, string parentBiographyID = "", string searchFields = "all", int?interviewYearFilterLowerBound = 0, int?interviewYearFilterUpperBound = 0, string genderFacet = "", string yearFacet = "", string makerFacet = "", string jobFacet = "", string sortField = "", bool?sortInDescendingOrder = false) { try { var results = await this.azureSearch.StorySearch( (query == null)?string.Empty : query, (pageSize == null)? 20 : (int)pageSize, (currentPage == null)? 1 : (int)currentPage, (parentBiographyID == null)?string.Empty : parentBiographyID, (searchFields == null)? "all" : searchFields, (interviewYearFilterLowerBound == null)? 0 : (int)interviewYearFilterLowerBound, (interviewYearFilterUpperBound == null)? 0 : (int)interviewYearFilterUpperBound, (genderFacet == null)?string.Empty : genderFacet, (yearFacet == null)?string.Empty : yearFacet, (makerFacet == null)?string.Empty : makerFacet, (jobFacet == null)?string.Empty : jobFacet, (sortField == null)? "" : sortField, (sortInDescendingOrder == null)?false : (bool)sortInDescendingOrder ); var stories = new StoryResultSet { Facets = results.Facets, Stories = results.Results, Count = results.Count }; var response = Request.CreateResponse(HttpStatusCode.OK, stories, Configuration.Formatters.JsonFormatter); #if !NO_CACHE_FOR_TESTING_API response.Headers.CacheControl = new CacheControlHeaderValue() { MaxAge = TimeSpan.FromDays(1), Public = true }; #endif return(response); } catch (Exception ex) { return(new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(ex.Message) }); } }
public async Task <HttpResponseMessage> GetFavoritesSet(string csvStoryIDs = "", string genderFacet = "", string yearFacet = "", string makerFacet = "", string jobFacet = "") { var storyList = new List <string>(); foreach (var item in csvStoryIDs.Split(',')) { var id = item.Trim(); if (id != "") { storyList.Add(id); } } try { var results = await this.azureSearch.StorySet( storyList, (genderFacet == null)?string.Empty : genderFacet, (yearFacet == null)?string.Empty : yearFacet, (makerFacet == null)?string.Empty : makerFacet, (jobFacet == null)?string.Empty : jobFacet ); var stories = new StoryResultSet { Facets = results.Facets, Stories = results.Results, Count = results.Count }; var response = Request.CreateResponse(HttpStatusCode.OK, stories, Configuration.Formatters.JsonFormatter); #if !NO_CACHE_FOR_TESTING_API response.Headers.CacheControl = new CacheControlHeaderValue() { MaxAge = TimeSpan.FromDays(1), Public = true }; #endif return(response); } catch (Exception ex) { return(new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(ex.Message) }); } }
public async Task <HttpResponseMessage> GetTagSearch(string csvTagList, int?pageSize = 20, int?currentPage = 1, string genderFacet = "", string yearFacet = "", string makerFacet = "", string jobFacet = "") { try { var results = await this.azureSearch.StorySearchByTags( (csvTagList == null)? "" : csvTagList, (pageSize == null)? 20 : (int)pageSize, (currentPage == null)? 1 : (int)currentPage, (genderFacet == null)?string.Empty : genderFacet, (yearFacet == null)?string.Empty : yearFacet, (makerFacet == null)?string.Empty : makerFacet, (jobFacet == null)?string.Empty : jobFacet ); var stories = new StoryResultSet { Facets = results.Facets, Stories = results.Results, Count = results.Count }; var response = Request.CreateResponse(HttpStatusCode.OK, stories, Configuration.Formatters.JsonFormatter); #if !NO_CACHE_FOR_TESTING_API response.Headers.CacheControl = new CacheControlHeaderValue() { MaxAge = TimeSpan.FromDays(1), Public = true }; #endif return(response); } catch (Exception ex) { return(new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(ex.Message) }); } }