This example shows how you can search documents using a DialogExpression.
Use a dialog expression
using System; using System.Collections.Generic; using System.Linq; using DocuWare.Platform.ServerClient; namespace DocuWare.PlatformClientExamples { static partial class Examples { public static DocumentsQueryResult RunQuery(Dialog dialog) { var q = new DialogExpression() { Operation = DialogExpressionOperation.And, Condition = new List<DialogExpressionCondition>() { DialogExpressionCondition.Create("SENDER", "A", "ZZZZ" ) }, Count = 100, SortOrder = new List<SortedField> { SortedField.Create("DWSTOREDATETIME", SortDirection.Desc) } }; var queryResult = dialog.Query.PostToDialogExpressionRelationForDocumentsQueryResult(q); foreach (var d in queryResult.Items) { Console.WriteLine("Hit {0}: \"{1}\" on {2}", d.Id, (d["SENDER"].Item as string) ?? "-", d.CreatedAt); } return queryResult; } } }
Use a dialog expression asynchronously
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using DocuWare.Platform.ServerClient; namespace DocuWare.PlatformClientExamples { static partial class ExamplesAsync { public async static Task<DocumentsQueryResult> RunQueryAsync(Dialog dialog) { var q = new DialogExpression() { Operation = DialogExpressionOperation.And, Condition = new List<DialogExpressionCondition>() { DialogExpressionCondition.Create("SENDER", "A", "ZZZZ" ) }, Count = 100, SortOrder = new List<SortedField> { SortedField.Create("DWSTOREDATETIME", SortDirection.Desc) } }; DocumentsQueryResult queryResult = await dialog.Query.PostToDialogExpressionRelationForDocumentsQueryResultAsync(q); foreach (var d in queryResult.Items) { Console.WriteLine("Hit {0}: \"{1}\" on {2}", d.Id, (d["SENDER"].Item as string) ?? "-", d.CreatedAt); } return queryResult; } } }
See Also