Ejemplo n.º 1
0
        internal static bool TryGetUMMailboxPolicy(Trace tracer, ADRecipientCache <TransportMiniRecipient> recipientCache, MailRecipient mailRecipient, out UMMailboxPolicy mailboxPolicy)
        {
            mailboxPolicy = null;
            ADUser dataObject = null;

            return(UMAgentUtil.TryGetADUser(tracer, recipientCache, mailRecipient, out dataObject) && UMAgentUtil.TryGetUMMailboxPolicy(tracer, new UMMailbox(dataObject), out mailboxPolicy));
        }
Ejemplo n.º 2
0
        public void OnPromotedMessageHandler(StoreDriverEventSource source, StoreDriverDeliveryEventArgs e)
        {
            StoreDriverDeliveryEventArgsImpl storeDriverDeliveryEventArgsImpl = (StoreDriverDeliveryEventArgsImpl)e;

            if (storeDriverDeliveryEventArgsImpl.IsPublicFolderRecipient || storeDriverDeliveryEventArgsImpl.IsJournalReport)
            {
                UMPlayonPhoneAgent.Tracer.TraceError((long)this.GetHashCode(), "not supported for public folder or journal reports");
                return;
            }
            if (!storeDriverDeliveryEventArgsImpl.ReplayItem.IsRestricted || !storeDriverDeliveryEventArgsImpl.ReplayItem.ClassName.StartsWith("IPM.Note.rpmsg.Microsoft.Voicemail.UM", StringComparison.OrdinalIgnoreCase))
            {
                return;
            }
            UMMailboxPolicy ummailboxPolicy;

            if (!UMAgentUtil.TryGetUMMailboxPolicy(UMPlayonPhoneAgent.Tracer, storeDriverDeliveryEventArgsImpl.ADRecipientCache, storeDriverDeliveryEventArgsImpl.MailRecipient, out ummailboxPolicy))
            {
                return;
            }
            if (storeDriverDeliveryEventArgsImpl.PropertiesForAllMessageCopies == null)
            {
                storeDriverDeliveryEventArgsImpl.PropertiesForAllMessageCopies = new Dictionary <PropertyDefinition, object>();
            }
            if (ummailboxPolicy.RequireProtectedPlayOnPhone)
            {
                storeDriverDeliveryEventArgsImpl.PropertiesForAllMessageCopies[MessageItemSchema.RequireProtectedPlayOnPhone] = "true";
            }
        }
Ejemplo n.º 3
0
        internal static bool TryGetADUser(Trace tracer, ADRecipientCache <TransportMiniRecipient> recipientCache, MailRecipient mailRecipient, out ADUser user)
        {
            user = null;
            ADRecipient adrecipient = null;

            if (UMAgentUtil.TryGetADRecipient(tracer, recipientCache, mailRecipient, out adrecipient))
            {
                user = (adrecipient as ADUser);
            }
            return(null != user);
        }