private int GetAvailableItemCount() { var workingFacilityRef = LoginSession.Current.WorkingFacility.FacilityRef; var request = _worklistRef != null ? new QueryWorklistRequest(_worklistRef, false, true, DowntimeRecovery.InDowntimeRecoveryMode, workingFacilityRef) : new QueryWorklistRequest(_worklistClassName, false, true, DowntimeRecovery.InDowntimeRecoveryMode, workingFacilityRef); QueryWorklistResponse <TWorklistItem> response = null; Platform.GetService <TWorkflowService>(service => response = service.QueryWorklist(request)); return(response.ItemCount); }
private IEnumerable <TWorklistItem> GetAvailableItemStream() { var workingFacilityRef = LoginSession.Current.WorkingFacility.FacilityRef; var request = _worklistRef != null ? new QueryWorklistRequest(_worklistRef, true, false, DowntimeRecovery.InDowntimeRecoveryMode, workingFacilityRef) : new QueryWorklistRequest(_worklistClassName, true, false, DowntimeRecovery.InDowntimeRecoveryMode, workingFacilityRef); const int pageSize = 25; var more = true; QueryWorklistResponse <TWorklistItem> response = null; for (var p = 0; more; p += pageSize) { request.Page = new SearchResultPage(p, p + pageSize); Platform.GetService <TWorkflowService>(service => response = service.QueryWorklist(request)); more = response.WorklistItems.Count > 0; foreach (var item in response.WorklistItems) { yield return(item); } } }