Beispiel #1
0
        private static void SmartReplyOrForward(MessageItem originalItem, MessageItem newItem, UserContext userContext)
        {
            if (!RecipientCache.RunGetCacheOperationUnderDefaultExceptionHandler(delegate
            {
                SubscriptionCache.GetCache(userContext);
            }, userContext.GetHashCode()))
            {
                return;
            }
            SendAddressDefaultSetting sendAddressDefaultSetting = new SendAddressDefaultSetting(userContext);

            if (sendAddressDefaultSetting.IsUserEmailAddress)
            {
                return;
            }
            SubscriptionCacheEntry subscriptionCacheEntry;

            if (userContext.SubscriptionCache.TryGetSendAsDefaultEntry(sendAddressDefaultSetting, out subscriptionCacheEntry))
            {
                newItem.From = new Participant(subscriptionCacheEntry.DisplayName, subscriptionCacheEntry.Address, "SMTP");
                return;
            }
            try
            {
                object obj = originalItem.TryGetProperty(MessageItemSchema.SharingInstanceGuid);
                SubscriptionCacheEntry subscriptionCacheEntry2;
                if (obj is Guid && userContext.SubscriptionCache.TryGetEntry((Guid)obj, out subscriptionCacheEntry2))
                {
                    newItem.From = new Participant(subscriptionCacheEntry2.DisplayName, subscriptionCacheEntry2.Address, "SMTP");
                }
            }
            catch (NotInBagPropertyErrorException)
            {
            }
        }
Beispiel #2
0
        public bool TryGetSendAsDefaultEntry(SendAddressDefaultSetting sendAddressDefaultSetting, out SubscriptionCacheEntry subscriptionCacheEntry)
        {
            subscriptionCacheEntry = new SubscriptionCacheEntry(Guid.Empty, string.Empty, string.Empty, null, CultureInfo.InvariantCulture);
            Guid subscriptionId;

            return(sendAddressDefaultSetting.TryGetSubscriptionSendAddressId(out subscriptionId) && this.TryGetEntry(subscriptionId, out subscriptionCacheEntry));
        }