Tsk.ExternalId
Contents
[
Hide
]Tsk.ExternalId field
If a task is an external task it contains the task’s external Id.
public static readonly Key<int, TaskKey> ExternalId;
Examples
Shows how to identify cross project tasks.
var project = new Project(DataDir + "External.mpp");
var externalTask = project.RootTask.Children.GetByUid(1);
// Show ID of the task in the external project
Console.WriteLine(externalTask.Get(Tsk.Id).ToString());
// Show ID of the task in the original project
Console.WriteLine(externalTask.Get(Tsk.ExternalId).ToString());
Shows how to create cross project task link - link to task in another (external) project.
Project project = new Project();
var summary = project.RootTask.Children.Add("Summary Task");
// In order to create a link to a task from another project we should create
// its duplicate (or "external") task in the current project.
Task t2 = summary.Children.Add("External Task");
t2.Set(Tsk.ExternalTaskProject, "ExternalProject.mpp"); // here we set path to external project's MPP file.
t2.Set(Tsk.ExternalId, 1); // Set External task's Id.
t2.Set(Tsk.ExternalUid, 2); // External task's Unique Id should be set.
t2.Set(Tsk.IsExternalTask, true);
t2.Set(Tsk.IsManual, new NullableBool(false));
t2.Set(Tsk.IsSummary, false);
Task t = summary.Children.Add("Task");
TaskLink link = project.TaskLinks.Add(t2, t);
link.IsCrossProject = true;
link.LinkType = TaskLinkType.FinishToStart;
link.CrossProjectName = "ExternalProject.mpp\\\\1"; // <- here external task's Id is used.
See Also
- struct Key<T,K>
- enum TaskKey
- class Tsk
- namespace Aspose.Tasks
- assembly Aspose.Tasks