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));
 }
Example #3
0
        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);
        }
Example #5
0
        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);
        }