AndAllConditionT Class |
Namespace: Aspose.Tasks.Util
The AndAllConditionT type exposes the following members.
Name | Description | |
---|---|---|
![]() ![]() | AndAllConditionT |
Initializes a new instance of the AndAllConditionT class.
|
Name | Description | |
---|---|---|
![]() ![]() | Check |
Returns true if the specified object satisfy the conditions.
|
![]() | Equals | (Inherited from Object.) |
![]() | Finalize | (Inherited from Object.) |
![]() | GetHashCode | (Inherited from Object.) |
![]() | GetType | (Inherited from Object.) |
![]() | MemberwiseClone | (Inherited from Object.) |
![]() | ToString | (Inherited from Object.) |
public void WorkWithAndAllCondition() { var project = new Project(DataDir + "Project2.mpp"); // gather all project tasks var coll = new ChildTasksCollector(); TaskUtils.Apply(project.RootTask, coll, 0); var conditions = new List<ICondition<Task>> { // create a filter condition that filters not null tasks new NotNullCondition(), // create a filter condition that filters summary tasks new SummaryCondition() }; // and join them by applying <see cref="Aspose.Tasks.Util.AndAllCondition`1" /> condition var joinedCondition = new AndAllCondition<Task>(conditions); // apply the condition to the collected tasks List<Task> collection = Filter(coll.Tasks, joinedCondition); Console.WriteLine("Filtered tasks: "); foreach (var task in collection) { Console.WriteLine(" Name: " + task.Get(Tsk.Name)); // work with other properties... } // ... } private static List<T> Filter<T>(IEnumerable<T> array, ICondition<T> cond) { var result = new List<T>(); foreach (var item in array) { if (cond.Check(item)) { result.Add(item); } } return result; } private class NotNullCondition : ICondition<Task> { public bool Check(Task el) { return !el.Get(Tsk.IsNull).Value; } } private class SummaryCondition : ICondition<Task> { public bool Check(Task el) { return el.Get(Tsk.IsSummary); } }