SqlTrackingQueryOptions.StatusMaxDateTime Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor DateTime que especifica el límite superior del período de tiempo que, junto con WorkflowStatus, se utiliza para restringir el conjunto de objetos SqlTrackingWorkflowInstance devueltos por una llamada a 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
Valor de propiedad
DateTime que especifica el límite superior del período de tiempo utilizado para encontrar coincidencias de instancias de flujo de trabajo con un estado especificado por WorkflowStatus. El valor predeterminado es DateTime.MinValue.
Ejemplos
En el siguiente ejemplo se muestra cómo establecer la propiedad StatusMaxDateTime. Este ejemplo pertenece al SDK del monitor de flujo de trabajo. Para obtener más información, consulte Ejemplo de monitor de flujo de trabajo.
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);
}
Comentarios
SqlTrackingQueryOptions restringe el conjunto de objetos SqlTrackingWorkflowInstance devueltos por una llamada a SqlTrackingQuery.GetWorkflows a las instancias de flujo de trabajo que tienen Type especificado por WorkflowType, que tienen el estado especificado por WorkflowStatus durante el período especificado por StatusMinDateTime y StatusMaxDateTime y que extrajeron datos que coinciden por lo menos con uno de los objetos TrackingDataItemValue especificados por TrackingDataItems.
El valor DateTime especificado por StatusMaxDateTime es inclusivo. Para obtener más información sobre cómo se encuentran coincidencias con el estado de una instancia de flujo de trabajo, consulte la propiedad WorkflowStatus.
Nota
Si WorkflowStatus
está establecido en null, StatusMaxDateTime
y StatusMinDateTime
se omiten. Se devolverán todas las instancias de flujo de trabajo cuando se llame a GetWorkflows
.