using Pilotfish.Afx.Services.Workflows; using Pilotfish.Afx.Services.Workflows.Entities; using System.Collections.Generic; using System.Linq; namespace Neo.Legitimate.Common { public class WorkflowHelper { public static List GetEscalateToUsers(long workflowInstanceTaskID, bool includeUserSettings) { return new WorkflowsDatabase().GetWorkflowInstanceTaskEscalationUsers(workflowInstanceTaskID, includeUserSettings); } public static Vw_WorkflowInstanceTask GetActiveUserTask(long userID, Entity entity, long itemID) { return GetActiveUserTask(userID, (int)entity, itemID); } public static Vw_WorkflowInstanceTask GetActiveUserTask(long userID, long entityID, long itemID) { var tasks = new WorkflowsDatabase().GetTasks(entityID, itemID); return GetActiveUserTask(userID, tasks); } public static Vw_WorkflowInstanceTask GetActiveUserTask(long userID, List tasks) { var task = tasks.FirstOrDefault(a => a.AssignedToID == userID && a.WorkflowInstanceTaskStatusID == 1); //1=Outstanding #region Do Workflow Buddy Check if (task == null) { var activeTask = tasks.FirstOrDefault(a => a.WorkflowInstanceTaskStatusID == 1); if (activeTask != null) { var wd = new WorkflowsDatabase(); var assignedToID = activeTask.AssignedToID; if (wd.IsWorkflowBuddy(activeTask.WorkflowID, assignedToID, userID)) { task = activeTask; } } } #endregion return task; } public static Vw_WorkflowInstanceTask GetActiveTask(long entityID, long itemID) { var tasks = new WorkflowsDatabase().GetTasks(entityID, itemID); return tasks.FirstOrDefault(a => a.WorkflowInstanceTaskStatusID == 1); //1=Outstanding } } }