private static void FixOrganizationParameters(SearchByOrganizationParameters parameters) { if (parameters.OrganizationSeoName == "organisasjon") { parameters.OrganizationSeoName = null; } }
/// <summary> /// Shows metadata by selected organization /// </summary> /// <param name="parameters"></param> /// <returns>/etatvis-oversikt/{organization}</returns> public ActionResult Organization(SearchByOrganizationParameters parameters) { parameters.AddDefaultFacetsIfMissing(); FixOrganizationParameters(parameters); SearchResultForOrganization searchResult = _searchService.SearchByOrganization(parameters); var model = new SearchByOrganizationViewModel(parameters, searchResult); return(View(model)); }
public SearchByOrganizationViewModel(SearchByOrganizationParameters parameters, SearchResultForOrganization searchResult) : base(parameters, searchResult) { EnabledFacets = new List <string> { "themes", "types", "nationalinitiatives", "areas", "distributionProtocols", "dataAccesses" }; if (parameters.OrganizationSeoName != null) { OrganizationSeoName = parameters.OrganizationSeoName; } if (searchResult.Organization != null) { OrganizationName = searchResult.Organization.Name; OrganizationLogoUrl = searchResult.Organization.LogoUrl; } var organizations = searchResult.Organizations(); OrganizationSelectList = new SelectList(organizations, "key", "value", parameters.OrganizationSeoName); }
public SearchResultForOrganization SearchByOrganization(SearchByOrganizationParameters parameters) { parameters.CreateFacetOfOrganizationSeoName(); parameters.AddComplexFacetsIfMissing(); ISolrQuery query = parameters.BuildQuery; SolrQueryResults <MetadataIndexDoc> queryResults = _solrInstance.Query(query, new QueryOptions { FilterQueries = parameters.BuildFilterQueries(), OrderBy = parameters.OrderBy(), Rows = parameters.Limit, Start = parameters.Offset - 1, //solr is zero-based - we use one-based indexing in api Facet = parameters.BuildFacetParameters() }); SearchResult searchResult = CreateSearchResults(queryResults, parameters); Task <Organization> getOrganizationTask = _organizationService.GetOrganizationByName(parameters.OrganizationSeoName); Organization organization = getOrganizationTask.Result; return(new SearchResultForOrganization(organization, searchResult)); }