int numberOfActiveWF = 0;
int numberOfActiveTasks = 0;
//SPWorkflowManager myWFMgr = new SPWorkflowManager();
using (SPSite objSite = new SPSite(ConstSite.SiteName))
{
SPWeb objWeb = objSite.OpenWeb();
SPList myList = objWeb.Lists[listName];
SPQuery oQuery = new SPQuery();
oQuery.Query = @" " +
@"" + userID + @" ";
SPListItemCollection collListItems = myList.GetItems(oQuery);
foreach (SPListItem myListItem in collListItems)
{
// Get the workflows associated
foreach (SPWorkflow myWF in myListItem.Workflows)
{
SPList workflowTasks = objWeb.Lists["Tasks"];
SPWorkflowFilter filter = new SPWorkflowFilter();
filter.InclusiveFilterStates = SPWorkflowState.Running;
SPWorkflowTaskCollection workTaskColl = objWeb.Site.WorkflowManager.GetItemTasks(myListItem, filter);
foreach (SPWorkflowTask spWFTask in workTaskColl)
{
SPQuery spQuery = new SPQuery();
spQuery.Query = @" " +
"" + userID + " " +
"" + spWFTask.ID + " " +
" " +
"Completed " +
" ";
numberOfActiveTasks += workflowTasks.GetItems(spQuery).Count;
}
numberOfActiveWF += objWeb.Site.WorkflowManager.GetItemActiveWorkflows(myListItem).Count;
}
}
}
samedi 1 septembre 2012
Sharepoint get all active workflows and active task for a specified listitem
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire