SqlTrackingQueryOptions.StatusMinDateTime Eigenschaft

Definition

Ruft eine DateTime ab oder legt diese Zeitangabe fest, die in Verbindung mit WorkflowStatus die Reihe der SqlTrackingWorkflowInstance-Objekte einschränkt, die durch einen Aufruf von GetWorkflows(SqlTrackingQueryOptions) zurückgegeben werden.

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

Eigenschaftswert

DateTime mit der Angabe der Untergrenze des Zeitraums, für den Workflowinstanzen mit einem Status abgeglichen werden, der durch WorkflowStatus angegeben wird. Der Standardwert ist DateTime.MinValue.

Beispiele

Das folgende Beispiel veranschaulicht das Festlegen der StatusMinDateTime-Eigenschaft. Dieses Beispiel stammt aus dem Workflow Monitor SDK-Beispiel. Weitere Informationen finden Sie unter Workflowmonitorbeispiel.

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

Hinweise

SqlTrackingQueryOptions schränkt die Reihe der SqlTrackingWorkflowInstance-Objekte, die durch einen Aufruf von SqlTrackingQuery.GetWorkflows zurückgegeben werden, auf die Workflowinstanzen ein, für die folgende Bedingungen gelten: Type wird durch WorkflowType angegeben, der Status wird durch WorkflowStatus, die Dauer der Einschränkung wird durch StatusMinDateTime und StatusMaxDateTime angegeben, und extrahierte Daten der Workflowinstanzen entsprechen mindesten einem der durch TrackingDataItemValue angegebenen TrackingDataItems-Objekte.

Der von DateTime angegebene StatusMinDateTime-Wert ist inklusiv. Weitere Informationen zum Abgleich des Status einer Workflowinstanz finden Sie in den Ausführungen zur WorkflowStatus-Eigenschaft.

Hinweis

Wenn WorkflowStatus auf NULL festgelegt ist, werden StatusMaxDateTime und StatusMinDateTime nicht berücksichtigt. Bei einem Aufruf von GetWorkflows werden alle Workflowinstanzen zurückgegeben.

Gilt für: