// 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 }); } } }
// 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); }