Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
 /// <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);
 }