Class ResourceAssignmentCollection
Contents
[
Hide
]ResourceAssignmentCollection class
Represents a collection of ResourceAssignment
objects.
public class ResourceAssignmentCollection : IList<ResourceAssignment>
Properties
Name | Description |
---|---|
Count { get; } | Gets the number of objects contained in the ResourceAssignmentCollection. |
IsReadOnly { get; } | Gets a value indicating whether this collection is read only. |
Item { get; set; } | Returns the element at the specified index. |
ParentProject { get; } | Gets the parent project of the ResourceAssignmentCollection object. |
Methods
Name | Description |
---|---|
Add(ResourceAssignment) | This is the stub implementation of ICollection’s Add method, that only throws NotSupportedException |
Add(Task, Resource) | Adds new assignment to the ResourceAssignmentCollection. |
Add(Task, Resource, decimal) | Adds new assignment to the ResourceAssignmentCollection. |
Add(Task, Resource, double) | Adds new assignment to the ResourceAssignmentCollection. |
GetByUid(int) | Returns an assignment with the specified uid. |
GetEnumerator() | Returns an enumerator for this collection. |
Remove(ResourceAssignment) | Removes specified assignment from collection, if it is not read-only, otherwise throws NotSupportedException. |
RemoveAt(int) | Removes assignment at specified index, if collection is not read-only, otherwise throws NotSupportedException. |
ToList() | Converts the ResourceAssignmentCollection object to a list of ResourceAssignment objects. |
Examples
Shows how to work with resource assignment collections.
var project = new Project(DataDir + "TemplateResource2010.mpp");
var task = project.RootTask.Children.Add("Task 1");
var resource = project.Resources.Add("Resource 1");
var assignment = project.ResourceAssignments.Add(task, resource);
assignment.Set(Asn.Start, new DateTime(2019, 9, 23, 9, 0, 0));
assignment.Set(Asn.Work, project.GetWork(40));
assignment.Set(Asn.Finish, new DateTime(2019, 9, 27, 18, 0, 0));
var assignmentWithUnits = project.ResourceAssignments.Add(task, resource, 1d);
assignmentWithUnits.Set(Asn.Start, new DateTime(2019, 9, 23, 9, 0, 0));
assignmentWithUnits.Set(Asn.Work, project.GetWork(40));
assignmentWithUnits.Set(Asn.Finish, new DateTime(2019, 9, 27, 18, 0, 0));
var assignmentWithCost = project.ResourceAssignments.Add(task, resource);
assignmentWithCost.Set(Asn.Start, new DateTime(2019, 9, 23, 9, 0, 0));
assignmentWithCost.Set(Asn.Work, project.GetWork(40));
assignmentWithCost.Set(Asn.Finish, new DateTime(2019, 9, 27, 18, 0, 0));
Console.WriteLine("Print assignments for the project: " + project.ResourceAssignments.ParentProject.Get(Prj.Name));
Console.WriteLine("Resource assignment count: " + project.ResourceAssignments.Count);
foreach (var resourceAssignment in project.ResourceAssignments)
{
Console.WriteLine("Task Name: " + resourceAssignment.Get(Asn.Task).Get(Tsk.Name));
Console.WriteLine("Uid: " + resourceAssignment.Get(Asn.Uid));
Console.WriteLine("Start: " + resourceAssignment.Get(Asn.Start));
Console.WriteLine("Work: " + resourceAssignment.Get(Asn.Work));
Console.WriteLine("Finish: " + resourceAssignment.Get(Asn.Finish));
}
var assignmentByUid = project.ResourceAssignments.GetByUid(2);
Console.WriteLine("Assignment By Uid Start: " + assignmentByUid.Get(Asn.Start));
// work with assignment...
Console.WriteLine("Is resource assignment collection read-only?: " + project.ResourceAssignments.IsReadOnly);
// convert the collection into a list
List<ResourceAssignment> resourceAssignments = project.ResourceAssignments.ToList();
// iterate over the list
foreach (var ra in resourceAssignments)
{
Console.WriteLine(ra.ToString());
}
See Also
- class ResourceAssignment
- namespace Aspose.Tasks
- assembly Aspose.Tasks