Udostępnij za pośrednictwem


SqlTrackingQueryOptions.StatusMaxDateTime Właściwość

Definicja

Pobiera lub ustawia DateTime element określający górny limit okresu, który wraz z elementem WorkflowStatusjest używany do ograniczenia zestawu SqlTrackingWorkflowInstance obiektów zwracanych przez wywołanie metody GetWorkflows(SqlTrackingQueryOptions).

public:
 property DateTime StatusMaxDateTime { DateTime get(); void set(DateTime value); };
public DateTime StatusMaxDateTime { get; set; }
member this.StatusMaxDateTime : DateTime with get, set
Public Property StatusMaxDateTime As DateTime

Wartość właściwości

Element DateTime określający górny limit czasu używany dla pasujących wystąpień przepływu pracy ze stanem określonym przez WorkflowStatus. Wartość domyślna to DateTime.MinValue.

Przykłady

W poniższym przykładzie pokazano ustawienie właściwości StatusMaxDateTime. Ten przykład pochodzi z przykładowego zestawu SDK monitora przepływu pracy. Aby uzyskać więcej informacji, zobacz Przykład monitora przepływu pracy.

try
{
    List<SqlTrackingWorkflowInstance> queriedWorkflows = new List<SqlTrackingWorkflowInstance>();
    SqlTrackingQuery sqlTrackingQuery = new SqlTrackingQuery(connectionString);
    SqlTrackingQueryOptions sqlTrackingQueryOptions = new SqlTrackingQueryOptions();
    sqlTrackingQueryOptions.StatusMinDateTime = from.ToUniversalTime();
    sqlTrackingQueryOptions.StatusMaxDateTime = until.ToUniversalTime();
    // If QualifiedName, FieldName, or DataValue is not supplied, we will not query since they are all required to match
    if (!((string.Empty == trackingDataItemValue.QualifiedName) || (string.Empty == trackingDataItemValue.FieldName) || ((string.Empty == trackingDataItemValue.DataValue))))
        sqlTrackingQueryOptions.TrackingDataItems.Add(trackingDataItemValue);

    queriedWorkflows.Clear();

    if ("created" == workflowEvent.ToLower(CultureInfo.InvariantCulture))
    {
        sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Created;
        queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));
    }
    else if ("completed" == workflowEvent.ToLower(CultureInfo.InvariantCulture))
    {
        sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Completed;
        queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));
    }
    else if ("running" == workflowEvent.ToLower(CultureInfo.InvariantCulture))
    {
        sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Running;
        queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));
    }
    else if ("suspended" == workflowEvent.ToLower(CultureInfo.InvariantCulture))
    {
        sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Suspended;
        queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));
    }
    else if ("terminated" == workflowEvent.ToLower(CultureInfo.InvariantCulture))
    {
        sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Terminated;
        queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));
    }
    else if (("all" == workflowEvent.ToLower(CultureInfo.InvariantCulture)) || string.IsNullOrEmpty(workflowEvent))
    {
        sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Created;
        queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));

        sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Completed;
        queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));

        sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Running;
        queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));

        sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Suspended;
        queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));

        sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Terminated;
        queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));
    }
    return queriedWorkflows;
}
catch (Exception exception)
{
    throw new Exception("Exception in GetWorkflows", exception);
}

Uwagi

SqlTrackingQueryOptions ogranicza zestaw SqlTrackingWorkflowInstance obiektów zwracanych przez wywołanie do SqlTrackingQuery.GetWorkflows tych wystąpień przepływu pracy, które mają Type określony przez WorkflowType, które mają stan określony przez , w okresie określonym przez WorkflowStatusStatusMinDateTime i StatusMaxDateTime, oraz, które wyodrębniły dane zgodne z co najmniej jednym z TrackingDataItemValue obiektów określonych przez TrackingDataItems.

Wartość określona DateTime przez StatusMaxDateTime parametr jest inkluzywna. Aby uzyskać więcej informacji o tym, jak jest dopasowywany stan wystąpienia przepływu pracy, zobacz WorkflowStatus właściwość .

Uwaga

Jeśli WorkflowStatus parametr ma wartość null, to StatusMaxDateTime i StatusMinDateTime są ignorowane. Po wywołaniu GetWorkflows zostaną zwrócone wszystkie wystąpienia przepływu pracy.

Dotyczy