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); } }
public SearchResult GetRelated(string uuid) { Models.MetadataViewModel result = _metadataService.GetMetadataViewModelByUuid(uuid); Models.SearchResult relatedResult = CreateRelated(result); var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext); return(new SearchResult(relatedResult, urlHelper)); }
public SearchResult DatasetsNamespace(string @namespace, int limit = 10, int offset = 0) { try { Models.SearchParameters searchParameters = new Models.SearchParameters(); searchParameters.Limit = limit; searchParameters.Offset = offset; var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext); Models.SearchResult searchResult = _metadataService.GetMetadataForNamespace(@namespace, searchParameters); return(new SearchResult(searchResult, urlHelper)); } catch (Exception ex) { Log.Error("Error API", ex); return(null); } }
private Models.SearchResult CreateRelated(MetadataViewModel result) { Models.SearchResult res = null; if (result != null && result.Related != null) { res = new Models.SearchResult(); res.NumFound = result.Related.Count(); res.Offset = 1; res.Limit = result.Related.Count(); res.Items = new List <Models.SearchResultItem>(); res.Facets = new List <Models.Facet>(); res.Facets.Add(new Models.Facet { FacetField = "relateddata", FacetResults = new List <Models.Facet.FacetValue> { new Models.Facet.FacetValue { Count = result.Related.Count(), Name = "relateddata" } } }); foreach (var related in result.Related) { Models.SearchResultItem item = new Models.SearchResultItem(); item.Title = related.Title; item.Type = related.HierarchyLevel; item.Theme = related.KeywordsNationalTheme != null && related.KeywordsNationalTheme.Count > 0 ? related.KeywordsNationalTheme.FirstOrDefault().KeywordValue : ""; item.Organization = related.ContactOwner != null && related.ContactOwner.Organization != null ? related.ContactOwner.Organization : ""; item.OrganizationLogoUrl = related.OrganizationLogoUrl; item.ThumbnailUrl = related.Thumbnails != null && related.Thumbnails.Count > 0 ? related.Thumbnails[0].URL : ""; item.DistributionUrl = related.DistributionDetails != null && related.DistributionDetails.URL != null ? related.DistributionDetails.URL : null; item.ServiceDistributionUrlForDataset = related.ServiceDistributionUrlForDataset; item.ServiceWfsDistributionUrlForDataset = related.ServiceWfsDistributionUrlForDataset; item.Uuid = related.Uuid; res.Items.Add(item); } } return(res); }