Example #1
0
        private ContactSearchResultEx2 ExtendResult(IContactSearchResult result, DateTime nowTime)
        {
            var contactSearchResultEx = new ContactSearchResultEx2(result)
            {
                FormattedLatestVisitStartDateTime = _timeConverter.FormatDateTime(result.LatestVisitStartDateTime),
                Recency = _timeConverter.GetRecency(result.LatestVisitStartDateTime, nowTime),
                LatestVisitLocationDisplayName =
                    _textConverter.GetLocation(result.LatestVisitLocationCityDisplayName,
                                               result.LatestVisitLocationRegionDisplayName, result.LatestVisitLocationCountryDisplayName),
                EmailAddressExt = _textConverter.GetEmail(result.PreferredEmail)
            };

            var duration = _timeConverter.GetDuration(result.LatestVisitStartDateTime, result.LatestVisitEndDateTime);

            contactSearchResultEx.LatestDuration = duration;

            contactSearchResultEx.Company = GetContactCompany(contactSearchResultEx);

            var strArray = new[]
            {
                result.FirstName,
                result.MiddleName,
                result.Surname
            };

            var fullName = _textConverter.GetFullName((ContactIdentificationLevel)result.IdentificationLevel, strArray);

            contactSearchResultEx.FullName = fullName;
            return(contactSearchResultEx);
        }
Example #2
0
        private string GetContactCompany(ContactSearchResultEx2 contactSearchResultEx2)
        {
            var company = _ctx.GetQueryable <IndexedCompany>()
                          .Where(iv => iv.ContactId == contactSearchResultEx2.ContactId)
                          .OrderByDescending(iv => iv.Company);

            var firstOrDefault = company.FirstOrDefault();

            if (firstOrDefault != null && firstOrDefault.Company != null)
            {
                return(firstOrDefault.Company);
            }

            return("unknown");
        }