public HttpResponseMessage CreateSiteMap() { try { SearchParameters parameters = new SearchParameters(); parameters.limit = 50000; Models.SearchParameters searchParameters = CreateSearchParameters(parameters); searchParameters.AddDefaultFacetsIfMissing(); Models.SearchResult searchResult = _searchService.Search(searchParameters); var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext); var results = new SearchResult(searchResult, urlHelper).Results; var xml = CreateSiteMap(results); return(new HttpResponseMessage { Content = new StringContent(xml.OuterXml, System.Text.Encoding.UTF8, "application/xml") }); } catch (Exception ex) { Log.Error("Error API", ex); return(null); } }
public SearchResult Opendata([System.Web.Http.ModelBinding.ModelBinder(typeof(SM.General.Api.FieldValueModelBinder))] SearchParameters parameters) { try { if (parameters == null) { parameters = new SearchParameters(); } Models.SearchParameters searchParameters = CreateSearchParameters(parameters); searchParameters.SetFacetOpenData(); searchParameters.AddDefaultFacetsIfMissing(); Models.SearchResult searchResult = _searchService.Search(searchParameters); var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext); return(new SearchResult(searchResult, urlHelper)); } catch (Exception ex) { Log.Error("Error API", ex); return(null); } }
private Models.SearchParameters CreateSearchParameters(SearchParameters parameters) { return(new Models.SearchParameters { Text = parameters.text, Facets = CreateFacetParameters(parameters.facets), Offset = parameters.offset, Limit = parameters.limit, orderby = parameters.orderby, listhidden = parameters.listhidden }); }
public Distributions GetDistributionLists(string uuid, [System.Web.Http.ModelBinding.ModelBinder(typeof(SearchParameterModelBuilder))] SearchParameters parameters) { var metadata = _metadataService.GetMetadataViewModelByUuid(uuid); return(_metadataService.GetDistributions(metadata, parameters)); }
public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext) { var model = bindingContext; if (model != null) { SearchParameters searchParameters = new SearchParameters(); searchParameters.text = GetValue(bindingContext, "text"); int limit = 5; if (int.TryParse(GetValue(bindingContext, "limit"), out limit)) { searchParameters.limit = limit; } int offset = 0; if (int.TryParse(GetValue(bindingContext, "offset"), out offset)) { searchParameters.offset = offset; } bool listhidden = false; if (bool.TryParse(GetValue(bindingContext, "listhidden"), out listhidden)) { searchParameters.listhidden = listhidden; } DateTime datefrom = DateTime.Now.AddDays(-7); if (DateTime.TryParse(GetValue(bindingContext, "datefrom"), out datefrom)) { searchParameters.datefrom = datefrom; } DateTime dateto = DateTime.Now; if (DateTime.TryParse(GetValue(bindingContext, "dateto"), out dateto)) { searchParameters.dateto = dateto; } searchParameters.orderby = GetValue(bindingContext, "orderby"); List <FacetInput> facets = new List <FacetInput>(); var query = HttpContext.Current.Request.QueryString; int i = 0; //Check if array input starts at 1 if (string.IsNullOrEmpty(query["facets[0]name"]) && !string.IsNullOrEmpty(query["facets[1]name"])) { i = 1; } while (!string.IsNullOrEmpty(query["facets[" + i + "]name"])) { var facet = new FacetInput(); facet.name = query["facets[" + i + "]name"]; facet.value = query["facets[" + i + "]value"]; facets.Add(facet); i++; } searchParameters.facets = facets; bindingContext.Model = searchParameters; return(true); } return(false); }