/// <summary> /// Creates an <see cref="IEnumerable{T}" /> from an <see cref="IMMEnumPxTasks" /> /// </summary> /// <param name="source">An <see cref="IMMEnumPxTasks" /> to create an <see cref="IEnumerable{T}" /> from.</param> /// <returns> /// An <see cref="IEnumerable{T}" /> that contains the fields from the input source. /// </returns> public static IEnumerable <IMMPxTask> AsEnumerable(this IMMEnumPxTasks source) { if (source != null) { source.Reset(); IMMPxTask task = source.Next(); while (task != null) { yield return(task); task = source.Next(); } } }
/// <summary> /// Finds the task using the specified <paramref name="source" /> and <paramref name="taskID" />. /// </summary> /// <param name="source">The node.</param> /// <param name="taskID">The task ID.</param> /// <returns> /// Returns a <see cref="IMMPxTask" /> representing the tasks that matches specified task name for the given node; /// otherwise <c>null</c>. /// </returns> public static IMMPxTask GetTask(this IMMPxNode source, int taskID) { IMMPxNode3 node3 = source as IMMPxNode3; if (node3 == null) { return(null); } IMMEnumPxTasks tasks = node3.EnabledTasks; foreach (var task in tasks.AsEnumerable()) { if (taskID == task.TaskID) { return(task); } } return(null); }