private QueryStringType GenerateFASTSearchQueryString() { TaskLogger.LogEnter(); QueryStringType result; try { StringBuilder stringBuilder = new StringBuilder(100); int num = 0; if (this.searchCriteria.StartDateUtc != null) { DateTime date = this.searchCriteria.StartDateUtc.Value.ToLocalTime(); AqsQueryBuilder.AppendDateClause(stringBuilder, PropertyKeyword.Received, DateRangeQueryOperation.GreaterThanOrEqual, date); num++; } if (this.searchCriteria.EndDateUtc != null) { DateTime date2 = this.searchCriteria.EndDateUtc.Value.ToLocalTime(); AqsQueryBuilder.AppendDateClause(stringBuilder, PropertyKeyword.Received, DateRangeQueryOperation.LessThan, date2); num++; } if (this.searchCriteria.Succeeded != null) { string text = string.Format(CultureInfo.InvariantCulture, "{0}: {1}", new object[] { "Succeeded", this.searchCriteria.Succeeded.Value }); AqsQueryBuilder.AppendKeywordOrClause(stringBuilder, PropertyKeyword.Body, new string[] { text }); num++; } if (this.searchCriteria.ExternalAccess != null) { string text2 = string.Format(CultureInfo.InvariantCulture, "{0}: {1}", new object[] { "ExternalAccess", this.searchCriteria.ExternalAccess.Value }); AqsQueryBuilder.AppendKeywordOrClause(stringBuilder, PropertyKeyword.Body, new string[] { text2 }); num++; } if (this.searchCriteria.Cmdlets != null && this.searchCriteria.Cmdlets.Count > 0) { string[] array = new string[this.searchCriteria.Cmdlets.Count]; for (int i = 0; i < array.Length; i++) { array[i] = string.Format(CultureInfo.InvariantCulture, "{0}: {1}", new object[] { "Cmdlet Name", this.searchCriteria.Cmdlets[i] }); num++; } AqsQueryBuilder.AppendKeywordOrClause(stringBuilder, PropertyKeyword.Body, array); } if (this.searchCriteria.Parameters != null && this.searchCriteria.Parameters.Count > 0) { string[] array2 = new string[this.searchCriteria.Parameters.Count]; for (int j = 0; j < array2.Length; j++) { array2[j] = string.Format(CultureInfo.InvariantCulture, "{0}: {1}", new object[] { "Parameter", this.searchCriteria.Parameters[j] }); num++; } AqsQueryBuilder.AppendKeywordOrClause(stringBuilder, PropertyKeyword.Body, array2); } if (this.searchCriteria.ObjectIds != null && this.searchCriteria.ObjectIds.Count > 0) { string[] array3 = new string[this.searchCriteria.ObjectIds.Count]; for (int k = 0; k < this.searchCriteria.ObjectIds.Count; k++) { array3[k] = this.searchCriteria.ObjectIds[k] + AdminAuditLogSearchWorker.LogID; num++; } AqsQueryBuilder.AppendKeywordOrClause(stringBuilder, PropertyKeyword.To, array3); } if (this.searchCriteria.ResolvedUsers != null && this.searchCriteria.ResolvedUsers.Count > 0) { string[] array4 = new string[this.searchCriteria.ResolvedUsers.Count]; for (int l = 0; l < this.searchCriteria.ResolvedUsers.Count; l++) { array4[l] = this.searchCriteria.ResolvedUsers[l] + AdminAuditLogSearchWorker.LogID; num++; } AqsQueryBuilder.AppendKeywordOrClause(stringBuilder, PropertyKeyword.From, array4); } this.searchCriteria.QueryComplexity = num; if (stringBuilder.Length > 0) { result = new QueryStringType { Value = stringBuilder.ToString() }; } else { result = null; } } finally { TaskLogger.LogExit(); } return(result); }
private QueryStringType GenerateFASTSearchQueryString() { TaskLogger.LogEnter(); QueryStringType result; try { StringBuilder stringBuilder = new StringBuilder(100); int num = 0; AqsQueryBuilder.AppendDateClause(stringBuilder, PropertyKeyword.Received, DateRangeQueryOperation.GreaterThanOrEqual, this.searchCriteria.StartDateUtc.Value.ToLocalTime()); num++; AqsQueryBuilder.AppendDateClause(stringBuilder, PropertyKeyword.Received, DateRangeQueryOperation.LessThan, this.searchCriteria.EndDateUtc.Value.ToLocalTime()); num++; if (this.searchCriteria.ExternalAccess != null) { string text = string.Format(CultureInfo.InvariantCulture, "{0}: {1}", new object[] { "ExternalAccess", this.searchCriteria.ExternalAccess.Value }); AqsQueryBuilder.AppendKeywordOrClause(stringBuilder, PropertyKeyword.Body, new string[] { text }); num++; } if (this.searchCriteria.LogonTypes != null && this.searchCriteria.LogonTypes.Count > 0) { string[] array = new string[this.searchCriteria.LogonTypes.Count]; for (int i = 0; i < array.Length; i++) { array[i] = string.Format(CultureInfo.InvariantCulture, "{0}: {1}", new object[] { "LogonType", this.searchCriteria.LogonTypes[i] }); num++; } AqsQueryBuilder.AppendKeywordOrClause(stringBuilder, PropertyKeyword.Body, array); } if (this.searchCriteria.Operations != null && this.searchCriteria.Operations.Count > 0) { string[] array2 = new string[this.searchCriteria.Operations.Count]; for (int j = 0; j < array2.Length; j++) { array2[j] = string.Format(CultureInfo.InvariantCulture, "{0}: {1}", new object[] { "Operation", this.searchCriteria.Operations[j] }); num++; } AqsQueryBuilder.AppendKeywordOrClause(stringBuilder, PropertyKeyword.Body, array2); } this.searchCriteria.QueryComplexity = num; if (this.searchStatistics != null) { this.searchStatistics.QueryComplexity = num; } if (stringBuilder.Length > 0) { result = new QueryStringType { Value = stringBuilder.ToString() }; } else { result = null; } } finally { TaskLogger.LogExit(); } return(result); }