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); }
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"); }