public static bool OrganisationSicCodesMatchSearchTerms( SearchCachedOrganisation organisation, List <string> searchTerms, bool queryContainsPunctuation) { return(organisation.SicCodeSynonyms.Any(sc => sc.Matches(searchTerms, queryContainsPunctuation, false))); }
public static bool CurrentOrPreviousOrganisationNameMatchesSearchTerms( SearchCachedOrganisation organisation, List <string> searchTerms, bool queryContainsPunctuation) { return(AnyNameMatchesSearchTerms(organisation.OrganisationNames, searchTerms, queryContainsPunctuation)); }
private static RankedAdminSearchOrganisation CalculateRankForOrganisation(SearchCachedOrganisation organisation, List <string> searchTerms, string query, bool queryContainsPunctuation) { var rankedAdminSearchOrganisation = new RankedAdminSearchOrganisation { Names = new List <RankedName>() }; rankedAdminSearchOrganisation.Names = RankValueHelper.GetRankedNames(organisation.OrganisationNames, searchTerms, query, queryContainsPunctuation); rankedAdminSearchOrganisation.TopName = rankedAdminSearchOrganisation.Names .RankHelperOrderByListOfDoubles(name => name.Ranks) .First(); var ranks = RankValueHelper.ApplyCompanySizeMultiplierToRanks( rankedAdminSearchOrganisation.TopName.Ranks, organisation.MinEmployees); rankedAdminSearchOrganisation.TopName.Ranks = ranks; string employerRefMatch = organisation.EmployerReference == query ? organisation.EmployerReference : null; string companyNumberMatch = organisation.CompanyNumber == query ? organisation.CompanyNumber : null; var previousNames = rankedAdminSearchOrganisation.Names .Where((item, nameIndex) => nameIndex != 0) .Select(name => name.Name) .ToList(); rankedAdminSearchOrganisation.AdminSearchResult = new AdminSearchResultOrganisationViewModel { OrganisationName = rankedAdminSearchOrganisation.Names[0].Name, OrganisationPreviousNames = previousNames, EmployerRef = employerRefMatch, CompanyNumber = companyNumberMatch, OrganisationId = organisation.OrganisationId, Status = organisation.Status, }; return(rankedAdminSearchOrganisation); }
private static AutoCompleteOrganisation CalculateRankForOrganisation(SearchCachedOrganisation organisation, List <string> searchTerms, string query, bool queryContainsPunctuation) { var autoCompleteOrganisation = new AutoCompleteOrganisation { EncryptedId = organisation.EncryptedId, Names = new List <RankedName>() }; autoCompleteOrganisation.Names = RankValueHelper.GetRankedNames(organisation.OrganisationNames, searchTerms, query, queryContainsPunctuation); autoCompleteOrganisation.TopName = autoCompleteOrganisation.Names .RankHelperOrderByListOfDoubles(name => name.Ranks) .First(); var ranks = RankValueHelper.ApplyCompanySizeMultiplierToRanks(autoCompleteOrganisation.TopName.Ranks, organisation.MinEmployees); autoCompleteOrganisation.TopName.Ranks = ranks; return(autoCompleteOrganisation); }
private static RankedViewingSearchOrganisation CalculateRankForOrganisation(SearchCachedOrganisation organisation, List <string> searchTerms, string query, bool queryContainsPunctuation) { var rankedViewingSearchOrganisation = new RankedViewingSearchOrganisation { Names = new List <RankedName>() }; rankedViewingSearchOrganisation.Names = RankValueHelper.GetRankedNames(organisation.OrganisationNames, searchTerms, query, queryContainsPunctuation); rankedViewingSearchOrganisation.TopName = rankedViewingSearchOrganisation.Names .RankHelperOrderByListOfDoubles(name => name.Ranks) .First(); List <double> ranks = RankValueHelper.ApplyCompanySizeMultiplierToRanks( rankedViewingSearchOrganisation.TopName.Ranks, organisation.MinEmployees); rankedViewingSearchOrganisation.TopName.Ranks = ranks; List <string> previousNames = rankedViewingSearchOrganisation.Names .Where((item, nameIndex) => nameIndex != 0) .Select(name => name.Name) .ToList(); rankedViewingSearchOrganisation.ViewingSearchResult = new ViewingSearchResultOrganisationViewModel { OrganisationName = rankedViewingSearchOrganisation.Names[0].Name, OrganisationPreviousNames = previousNames, OrganisationId = organisation.OrganisationId, EncryptedId = organisation.EncryptedId }; return(rankedViewingSearchOrganisation); }