Task Class

Represents a task in a project.
Inheritance Hierarchy
SystemObject
  Aspose.TasksTask

Namespace:  Aspose.Tasks
Assembly:  Aspose.Tasks (in Aspose.Tasks.dll) Version: 20.12
Syntax
public class Task : IEquatable<Task>

The Task type exposes the following members.

Properties
  NameDescription
Public propertyCode exampleAssignments
Gets a collection of resource assignments for this object.
Public propertyCode exampleBaselines
Gets or sets the collection of baseline values of the task.
Public propertyCode exampleChildren
Gets a child task collection of this object. TaskCollection object which represents children tasks.
Public propertyCode exampleExtendedAttributes
Gets ExtendedAttributeCollection object containing the values of an extended attribute.
Public propertyCode exampleOutlineCodes
Gets or sets OutlineCodeCollection object.
Public propertyCode exampleParentProject
Gets the parent project of a task.
Public propertyCode exampleParentTask
Gets the parent task of a task.
Public propertyCode examplePredecessors
Gets a TaskCollection object which contains all predecessors of this Task object.
Public propertyCode exampleRecurringInfo
Gets the instance of RecurringTaskInfo class for the task which is a recurring task; if the task is not a recurring one then returns null;
Remarks
The info for the instance of RecurringTaskInfo is present in mpp file format only.
Public propertyCode exampleSplitParts
Gets a SplitPart collection that represents the portions of a task.
Public propertyCode exampleSuccessors
Gets a TaskCollection object which contains all successors of this Task object.
Public propertyCode exampleTimephasedData
Gets or sets a TimephasedDataCollection object of this task. The time phased data block associated with a task.
Methods
  NameDescription
Public methodCode exampleClone
Creates full copy of a task without subtasks.
Public methodCode exampleDelete
Deletes a task from parent project tasks collection and all its assignments.
Public methodCode exampleEquals(Object)
Returns a value indicating whether this instance is equal to a specified object.
(Overrides ObjectEquals(Object).)
Public methodCode exampleEquals(Task)
Returns a value indicating whether this instance is equal to a specified task.
Protected methodFinalize (Inherited from Object.)
Public methodCode exampleGet(KeyString, TaskKey)
Returns the value to which the property is mapped in this container.
Public methodCode exampleGetT(KeyT, TaskKey)
Returns the value to which the property is mapped in this container.
Public methodCode exampleGetHashCode
Returns a hash code value for this Task.
(Overrides ObjectGetHashCode.)
Public methodCode exampleGetTimephasedData(DateTime, DateTime)
Returns TimephasedDataCollection object with TimephasedData values within given start and end dates.
Public methodCode exampleGetTimephasedData(DateTime, DateTime, TimephasedDataType)
Returns TimephasedDataCollection object with TimephasedData values within given start and end dates of specified time-phased data type.
Public methodGetType (Inherited from Object.)
Protected methodMemberwiseClone (Inherited from Object.)
Public methodCode exampleMoveToSibling
Move the specified task at the same Outline Level If ParentProject.CalculationMode is None user should invoke Project.Recalculate() after using this method (It will reschedule all project tasks (start/finish dates, sets early/late dates) and calculate the dependent fields such as slacks, work and cost fields, outline levels). If ParentProject.CalculationMode is Manual the method will calculate only task id, outline level and outline numbers automatically. If ParentProject.CalculationMode is Automatic the method reschedules all project's tasks automatically (start/finish dates, sets early/late dates, calculates slacks, work and cost fields, recalculates ids and outline levels).
Public methodCode exampleOutlineIndent
Indents a task in the outline.
Public methodCode exampleOutlineOutdent
Promotes a task in the outline.
Public methodCode exampleSelectAllChildTasks
Recursively collects all child tasks of this task.
Public methodCode exampleSet(KeyDateTime, TaskKey, DateTime)
Maps the specified property to the specified value in this container.
Public methodCode exampleSetT(KeyT, TaskKey, T)
Maps the specified property to the specified value in this container.
Public methodCode exampleToString
Returns short string representation of a task. The exact details of the representation are unspecified and subject to change.
(Overrides ObjectToString.)
Remarks

The Task is representing a one atomic chuck of work.

One can use Task to plan a project by creating tasks and assign appropriate resources onto them. Tasks in a project are organized as a rooted hierarchical tree structure, with a root task and subtrees of children tasks.

To build a tree of tasks one can use a specialized collection TaskCollection by accessing RootTask property e.g.:

Project project = new Project();

// add new tasks
Task task1 = project.RootTask.Children.Add(); // a parent task with empty name is added
Task childTask1 = task1.Children.Add("Child 1");
childTask1.Set(Tsk.Start, new DateTime(2020, 2, 12, 8, 0, 0))
childTask1.Set(Tsk.Duration, project.GetDuration(8, TimeUnitType.Hour));
childTask1.Set(Tsk.Finish, new DateTime(2020, 2, 12, 17, 0, 0));
Task childTask3 = task1.Children.Add("Child 3");
childTask3.Set(Tsk.Start, new DateTime(2020, 2, 13, 8, 0, 0))
childTask3.Set(Tsk.Duration, project.GetDuration(8, TimeUnitType.Hour));
childTask3.Set(Tsk.Finish, new DateTime(2020, 2, 13, 17, 0, 0));
Task childTask2 = task1.Children.Add("Child 2", 2); // inserts a task before the childTask3
childTask2.Set(Tsk.Start, new DateTime(2020, 2, 14, 8, 0, 0))
childTask2.Set(Tsk.Duration, project.GetDuration(8, TimeUnitType.Hour));
childTask2.Set(Tsk.Finish, new DateTime(2020, 2, 14, 17, 0, 0));

// save project in the one of available formats
project.Save("Filled project.xml", SaveFileFormat.MPP);
Examples
Shows how to add a task into a project.
var project = new Project();

var task = project.RootTask.Children.Add("Task1");
task.Set(Tsk.DurationFormat, TimeUnitType.Day);
task.Set(Tsk.Start, new DateTime(2012, 8, 23, 8, 0, 0));
task.Set(Tsk.Duration, project.GetDuration(24, TimeUnitType.Hour));
task.Set(Tsk.ActualStart, new DateTime(2012, 8, 23, 8, 0, 0));

project.Save(OutDir + "CreateNewTask_out.xml", SaveFileFormat.XML);
See Also