public static void Run()
{
// ExStart:FindCriticalEffortDrivenTasks
// Read project from file stream
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName);
FileStream fs = new FileStream(dataDir + "CriticalEffortDrivenTasks.mpp", FileMode.Open);
Project prj = new Project(fs);
fs.Close();
// Create a ChildTasksCollector instance
ChildTasksCollector collector = new ChildTasksCollector();
// Collect all the tasks from RootTask using TaskUtils
TaskUtils.Apply(prj.RootTask, collector, 0);
// Parse through all the collected tasks
foreach (Task tsk1 in collector.Tasks)
{
string strED = tsk1.Get(Tsk.IsEffortDriven) ? "EffortDriven" : "Non-EffortDriven";
string strCrit = tsk1.Get(Tsk.IsCritical) ? "Critical" : "Non-Critical";
Console.WriteLine(tsk1.Get(Tsk.Name) + " : " + strED);
Console.WriteLine(tsk1.Get(Tsk.Name) + " : " + strCrit);
}
// ExEnd:FindCriticalEffortDrivenTasks
}
}