SqlTrackingQueryOptions.StatusMinDateTime Proprietà

Definizione

Ottiene o imposta un elemento DateTime che, insieme a WorkflowStatus, è utilizzato per applicare un vincolo al set di oggetti SqlTrackingWorkflowInstance restituito da una chiamata a GetWorkflows(SqlTrackingQueryOptions).

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

Valore della proprietà

DateTime che specifica il limite minimo di tempo utilizzato per far corrispondere le istanze del flusso di lavoro con uno stato specificato da WorkflowStatus. Il valore predefinito è DateTime.MinValue.

Esempio

Nell'esempio seguente viene illustrata l'impostazione della proprietà StatusMinDateTime. Questo esempio è tratto dall'esempio SDK Workflow Monitor. Per altre informazioni, vedere Esempio di Monitoraggio del flusso di lavoro.

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

Commenti

SqlTrackingQueryOptions applica un vincolo al set di oggetti SqlTrackingWorkflowInstance restituito da una chiamata a SqlTrackingQuery.GetWorkflows a quelle istanze di flusso di lavoro il cui Type è specificato mediante WorkflowType, il cui stato è specificato da WorkflowStatus durante il periodo specificato da StatusMinDateTime e StatusMaxDateTime, e che dispongono di dati estratti corrispondenti ad almeno uno degli oggetti TrackingDataItemValue specificati da TrackingDataItems.

Il valore DateTime specificato da StatusMinDateTime è inclusivo. Per ulteriori informazioni sulla modalità in cui viene trovata una corrispondenza per lo stato di un'istanza del flusso di lavoro, vedere la proprietà WorkflowStatus.

Nota

Se WorkflowStatus è impostato su null, StatusMaxDateTime e StatusMinDateTime vengono ignorati. Tutte le istanze del flusso di lavoro verranno restituite quando GetWorkflows viene chiamato.

Si applica a