public static string GetParticipantString(Participant participant, IExchangePrincipal exchangePrincipal) { if (null == participant) { throw new ArgumentNullException("participant null"); } StringBuilder stringBuilder = new StringBuilder(100); if (participant.DisplayName.StartsWith("\"") && participant.DisplayName.EndsWith("\"")) { stringBuilder.Append(participant.DisplayName); stringBuilder.Append(" "); } else { stringBuilder.Append('"'); stringBuilder.Append(participant.DisplayName); stringBuilder.Append("\" "); } stringBuilder.Append(EmailAddressConverter.LookupEmailAddressString(participant, exchangePrincipal, true)); AirSyncDiagnostics.TraceInfo <StringBuilder>(ExTraceGlobals.CommonTracer, null, "GetParticipantString = {0}", stringBuilder); return(stringBuilder.ToString()); }
public static string GetRecipientString(RecipientCollection collection, RecipientItemType recipientItemType, IExchangePrincipal exchangePrincipal) { if (collection == null) { throw new ArgumentNullException("Recipient collection null"); } if (collection.Count == 0) { return(string.Empty); } int num = 0; Participant[] array = new Participant[collection.Count]; Participant[] array2 = new Participant[collection.Count]; foreach (Recipient recipient in collection) { if (recipient == null) { throw new ArgumentNullException("recipient is null"); } array2[num] = recipient.Participant; if (recipient.Participant.RoutingType == "EX" && !string.IsNullOrEmpty(recipient.Participant.EmailAddress)) { Participant cachedParticipant = EmailAddressConverter.GetCachedParticipant(recipient.Participant.EmailAddress); array[num++] = ((cachedParticipant == null) ? recipient.Participant : cachedParticipant); } else { array[num++] = recipient.Participant; } } ParticipantUpdater.GetSMTPAddressesForParticipantsIfNecessary(array, collection); for (int i = 0; i < array.Length; i++) { Participant participant = array2[i]; Participant participant2 = array[i]; if (participant.RoutingType != participant2.RoutingType) { EmailAddressConverter.CacheParticipant(participant.EmailAddress, participant2); } } StringBuilder stringBuilder = new StringBuilder(collection.Count * 100); int num2 = 0; foreach (Recipient recipient2 in collection) { Participant participant3 = array[num2++]; if (recipientItemType == RecipientItemType.Unknown || recipient2.RecipientItemType == recipientItemType) { if (participant3.DisplayName.StartsWith("\"") && participant3.DisplayName.EndsWith("\"")) { stringBuilder.Append(participant3.DisplayName); stringBuilder.Append(" <"); } else { stringBuilder.Append('"'); stringBuilder.Append(participant3.DisplayName); stringBuilder.Append("\" "); } stringBuilder.Append(EmailAddressConverter.LookupEmailAddressString(participant3, exchangePrincipal, true)); stringBuilder.Append(", "); } if (stringBuilder.Length > 32000) { break; } } if (stringBuilder.Length > 1) { stringBuilder.Length -= 2; } AirSyncDiagnostics.TraceInfo <StringBuilder>(ExTraceGlobals.CommonTracer, null, "GetRecipientString = {0}", stringBuilder); return(stringBuilder.ToString()); }
public static string LookupEmailAddressString(Participant participant, IExchangePrincipal exchangePrincipal) { return(EmailAddressConverter.LookupEmailAddressString(participant, exchangePrincipal, false)); }