Exemple #1
0
 protected void SetParametersFromPredicate(TransportRulePredicate predicate, bool isException)
 {
     if (predicate is SentToPredicate)
     {
         if (isException)
         {
             this.exceptIfSentTo = Utils.BuildRecipientIdArray(((SentToPredicate)predicate).Addresses);
             return;
         }
         this.sentTo = Utils.BuildRecipientIdArray(((SentToPredicate)predicate).Addresses);
         return;
     }
     else
     {
         if (!(predicate is SentToMemberOfPredicate))
         {
             if (predicate is RecipientDomainIsPredicate)
             {
                 if (isException)
                 {
                     this.exceptIfRecipientDomainIs = ((RecipientDomainIsPredicate)predicate).Words;
                     return;
                 }
                 this.recipientDomainIs = ((RecipientDomainIsPredicate)predicate).Words;
             }
             return;
         }
         if (isException)
         {
             this.exceptIfSentToMemberOf = Utils.BuildRecipientIdArray(((SentToMemberOfPredicate)predicate).Addresses);
             return;
         }
         this.sentToMemberOf = Utils.BuildRecipientIdArray(((SentToMemberOfPredicate)predicate).Addresses);
         return;
     }
 }
Exemple #2
0
        public static List <string> GetEtrsForDlpPolicy(Guid dlpGuid, IConfigDataProvider dataSession)
        {
            ADRuleStorageManager adruleStorageManager;
            IEnumerable <TransportRuleHandle> transportRuleHandles = DlpUtils.GetTransportRuleHandles(dataSession, out adruleStorageManager);
            IEnumerable <Microsoft.Exchange.MessagingPolicies.Rules.Tasks.Rule> source = from ruleHandle in transportRuleHandles
                                                                                         select Microsoft.Exchange.MessagingPolicies.Rules.Tasks.Rule.CreateFromInternalRule(TransportRulePredicate.GetAvailablePredicateMappings(), TransportRuleAction.GetAvailableActionMappings(), ruleHandle.Rule, ruleHandle.AdRule.Priority, ruleHandle.AdRule);

            return((from rule in source
                    where rule.DlpPolicyId == dlpGuid
                    select rule.ToCmdlet()).ToList <string>());
        }
Exemple #3
0
        internal static IEnumerable <Microsoft.Exchange.MessagingPolicies.Rules.Tasks.Rule> GetTransportRules(IConfigDataProvider dataSession, Func <Microsoft.Exchange.MessagingPolicies.Rules.Tasks.Rule, bool> selector)
        {
            ADRuleStorageManager adruleStorageManager;
            IEnumerable <TransportRuleHandle> transportRuleHandles = DlpUtils.GetTransportRuleHandles(dataSession, out adruleStorageManager);
            IEnumerable <Microsoft.Exchange.MessagingPolicies.Rules.Tasks.Rule> source = from ruleHandle in transportRuleHandles
                                                                                         select Microsoft.Exchange.MessagingPolicies.Rules.Tasks.Rule.CreateFromInternalRule(TransportRulePredicate.GetAvailablePredicateMappings(), TransportRuleAction.GetAvailableActionMappings(), ruleHandle.Rule, ruleHandle.AdRule.Priority, ruleHandle.AdRule);

            return(source.Where(selector));
        }