/// <summary> /// Get worklist items by worklist filter criterias /// </summary> /// <param name="wlc">The worklist criteria</param> /// <returns>The collection of worklist items</returns> public WorklistItemCollection OpenWorklist(WorklistCriteria wlc) { WorklistItemCollection result; try { using (Connection workflowClient = this.GetWorkflowClient()) { result = WorklistItemCollection.FromApi(workflowClient.OpenWorklist(wlc)); } } catch (UnauthorizedAccessException) { throw; } catch (SmartException ex) { throw ex; } return(result); }
/// <summary> /// Get worklist item by worklist filter criterias /// </summary> /// <param name="filter">The worklist filter criterias</param> /// <param name="actDataField">The activity data field</param> /// <param name="actXmlField">The activity xml field</param> /// <param name="piDataField">The pi data field</param> /// <param name="piXmlField">The pi xml field</param> /// <returns></returns> public WorklistItemCollection OpenWorklistFiltered(Criteria filter, bool actDataField, bool actXmlField, bool piDataField, bool piXmlField) { WorklistItemCollection result; try { using (Connection workflowClient = this.GetWorkflowClient()) { WorklistCriteria criteria = filter.ToApi(); result = WorklistItemCollection.FromApi(workflowClient.OpenWorklist(criteria)); } } catch (System.UnauthorizedAccessException ex) { throw ex; } catch (System.Exception ex) { throw ex; } return(result); }
public Domain.K2.WorklistItem GetWorklistItem(int procInstId) { WorklistItemCollection worklist = _client.OpenWorklist(); if (worklist != null && worklist.Count > 0) { var wItem = worklist.SingleOrDefault(p => p.ProcessInstance.ID == procInstId); return(new Domain.K2.WorklistItem() { SerialNumber = wItem.SerialNumber, AllocatedUser = wItem.AllocatedUser, OpenBy = wItem.OpenBy }); } return(null); }
/// <summary> /// Get the worklist status of current user by serial number /// </summary> /// <param name="serial">The process serial number</param> /// <returns>The worklist item's status</returns> public K2.WorklistStatus GetWorklistStatus(string serial) { K2.WorklistStatus result = K2.WorklistStatus.Available; if (serial != null) { try { WorklistItemCollection source = OpenWorklist(); Cores.WorklistItem worklistItem = ( from item in source where item.SerialNumber == serial select item).FirstOrDefault <Cores.WorklistItem>(); result = worklistItem.Status; } catch (UnauthorizedAccessException) { throw; } catch (SmartException ex) { throw ex; } } return(result); }