AndAllConditionTCheck Method

Returns true if the specified object satisfy the conditions.

Namespace:  Aspose.Tasks.Util
Assembly:  Aspose.Tasks (in Aspose.Tasks.dll) Version: 20.11
Syntax
public bool Check(
	T el
)

Parameters

el
Type: T
The object to check.

Return Value

Type: Boolean
True if the object satisfy the conditions.

Implements

IConditionTCheck(T)
Examples
Shows how to use <see cref="Aspose.Tasks.Util.AndAllCondition`1" /> condition.
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);
    }
}
See Also