Exemplo n.º 1
0
 // Token: 0x06000160 RID: 352 RVA: 0x00009890 File Offset: 0x00007A90
 public InPlaceHoldConfiguration(MailboxDiscoverySearch searchObject)
 {
     this.Name     = searchObject.Name;
     this.Identity = searchObject.InPlaceHoldIdentity;
     this.Enabled  = searchObject.InPlaceHoldEnabled;
     this.IsValid  = searchObject.IsValid;
     if (this.IsValid)
     {
         this.QueryString = searchObject.Query;
         this.QueryFilter = searchObject.InternalQueryFilter;
         if (!searchObject.ItemHoldPeriod.IsUnlimited)
         {
             QueryFilter retentionPeriodFilter = MailboxDiscoverySearch.GetRetentionPeriodFilter(searchObject.ItemHoldPeriod.Value);
             if (this.QueryFilter == null)
             {
                 this.QueryFilter = retentionPeriodFilter;
                 return;
             }
             this.QueryFilter = new AndFilter(new QueryFilter[]
             {
                 retentionPeriodFilter,
                 this.QueryFilter
             });
         }
     }
 }
Exemplo n.º 2
0
        // Token: 0x060005CE RID: 1486 RVA: 0x0002BED4 File Offset: 0x0002A0D4
        private QueryFilter ConstructSearchFilter()
        {
            List <QueryFilter> list        = new List <QueryFilter>();
            QueryFilter        queryFilter = new ComparisonFilter(ComparisonOperator.Equal, ItemSchema.SearchIsPartiallyIndexed, true);

            foreach (InPlaceHoldConfiguration inPlaceHoldConfiguration in this.AllInPlaceHoldConfiguration)
            {
                if (inPlaceHoldConfiguration.QueryFilter != null)
                {
                    list.Add(inPlaceHoldConfiguration.QueryFilter);
                }
            }
            if (this.IsOnLitigationHoldWithDuration())
            {
                QueryFilter retentionPeriodFilter = MailboxDiscoverySearch.GetRetentionPeriodFilter(base.MailboxDataForTags.LitigationHoldDuration.Value.Value);
                list.Add(retentionPeriodFilter);
            }
            QueryFilter result = null;

            if (list.Count > 0)
            {
                if (list.Count == 1)
                {
                    result = QueryFilter.NotFilter(new OrFilter(new QueryFilter[]
                    {
                        list[0],
                        queryFilter
                    }));
                }
                else
                {
                    list.Add(queryFilter);
                    result = QueryFilter.NotFilter(QueryFilter.OrTogether(list.ToArray()));
                }
            }
            return(result);
        }