// Token: 0x06001099 RID: 4249 RVA: 0x00043F20 File Offset: 0x00042120 public RecipientInfoCacheEntry LookUp(string number) { if (this.CacheEntries == null || this.CacheEntries.Count == 0) { return(null); } E164Number number2; if (!E164Number.TryParse(number, out number2)) { return(null); } foreach (RecipientInfoCacheEntry recipientInfoCacheEntry in this.CacheEntries) { E164Number number3; if (!E164Number.TryParse(recipientInfoCacheEntry.RoutingAddress, out number3)) { this.Tracer.TraceDebug <string>((long)this.GetHashCode(), "There's an invalid phone number in the SMS recipient cache of {0}'s mailbox", this.MailboxSession.MailboxOwner.MailboxInfo.DisplayName); } else if (SmsRecipientInfoCache.NumbersMatch(number2, number3)) { return(recipientInfoCacheEntry); } } return(null); }
// Token: 0x0600109B RID: 4251 RVA: 0x00044010 File Offset: 0x00042210 private bool AddParticipant(Participant participant) { E164Number e164Number; if (!E164Number.TryParse(participant.EmailAddress, out e164Number)) { return(false); } for (int i = 0; i < this.CacheEntries.Count; i++) { RecipientInfoCacheEntry recipientInfoCacheEntry = this.CacheEntries[i]; E164Number number; if (!E164Number.TryParse(recipientInfoCacheEntry.RoutingAddress, out number)) { this.Tracer.TraceDebug <string>((long)this.GetHashCode(), "There's an invalid phone number in the SMS recipient cache of {0}'s mailbox", this.MailboxSession.MailboxOwner.MailboxInfo.DisplayName); } else if (SmsRecipientInfoCache.NumbersMatch(e164Number, number)) { this.CacheEntries[i] = SmsRecipientInfoCache.CreateCacheEntry(participant, e164Number.Number); return(true); } } if (this.CacheEntries.Count < 150) { this.CacheEntries.Add(SmsRecipientInfoCache.CreateCacheEntry(participant, e164Number.Number)); return(true); } int index = 0; for (int j = 1; j < this.CacheEntries.Count; j++) { if (this.CacheEntries[j].DateTimeTicks < this.CacheEntries[index].DateTimeTicks) { index = j; } } this.CacheEntries[index] = SmsRecipientInfoCache.CreateCacheEntry(participant, e164Number.Number); return(true); }