/// <summary> /// Task Details /// </summary> /// <param name="serialnumber"></param> /// <param name="destination"></param> /// <returns></returns> public List <TaskDetails> OpenTask(string serialnumber, string destination) { List <TaskDetails> list = new List <TaskDetails>(); SourceCode.Workflow.Client.Connection K2Conn = new SourceCode.Workflow.Client.Connection(); K2Conn.Open(servername); K2Conn.ImpersonateUser(destination); SourceCode.Workflow.Client.WorklistItem K2WListItem = K2Conn.OpenWorklistItem(serialnumber); try { list.Add(new TaskDetails { Status = K2WListItem.Status.ToString(), SerialNumber = K2WListItem.SerialNumber, Actions = K2WListItem.Actions, Data = K2WListItem.Data, DataFields = K2WListItem.ProcessInstance.DataFields.ToString() }); K2WListItem.Release(); } catch (Exception ex) { list.Add(new TaskDetails { Status = "No Task" }); } finally { K2Conn.Close(); } return(list); }
/// <summary> /// Actions a task /// </summary> /// <param name="action"></param> /// <param name="serialnumber"></param> /// <param name="destinationuser"></param> /// <returns></returns> public Boolean ActionTask(string action, string serialnumber, string destinationuser) { Boolean result = false; SourceCode.Workflow.Client.Connection K2Conn = new SourceCode.Workflow.Client.Connection(); K2Conn.Open(servername); K2Conn.ImpersonateUser(destinationuser); SourceCode.Workflow.Client.WorklistItem K2WListItem = K2Conn.OpenWorklistItem(serialnumber); try { K2WListItem.Actions[action].Execute(); result = true; } catch (Exception ex) { result = false; } finally { K2Conn.Close(); } return(result); }