Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
 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
     });
 }
Exemplo n.º 4
0
        public Distributions GetDistributionLists(string uuid, [System.Web.Http.ModelBinding.ModelBinder(typeof(SearchParameterModelBuilder))] SearchParameters parameters)
        {
            var metadata = _metadataService.GetMetadataViewModelByUuid(uuid);

            return(_metadataService.GetDistributions(metadata, parameters));
        }
Exemplo n.º 5
0
        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);
        }