Baseline

Baseline class

Represents baseline values of a resource.

public class Baseline : IComparable<Baseline>, IEquatable<Baseline>

Constructors

NameDescription
Baseline()The default constructor.

Properties

NameDescription
BaselineNumber { get; set; }Gets or sets the unique number of a baseline data record.
Bcwp { get; set; }Gets or sets the budgeted cost of a work performed by a resource for a project to-date.
Bcws { get; set; }Gets or sets the budget cost of a work scheduled for a resource.
Cost { get; set; }Gets or sets the projected cost of a resource when the baseline is saved.
Work { get; set; }Gets or sets the work assigned to a resource when the baseline is saved. The amount of assigned work to a resource when the baseline was saved.

Methods

NameDescription
CompareTo(Baseline)IComparable interface implementation. Compares this instance to the specified Baseline object.
Equals(Baseline)Returns a value indicating whether this instance is equal to a specified object.
override Equals(object)Returns a value indicating whether this instance is equal to a specified object.
override GetHashCode()Returns a hash code value for the baseline.
operator ==Returns a value indicating whether this instance is equal to a specified object.
operator >Returns a value indicating whether this instance is greater than a specified object.
operator >=Returns a value indicating whether this instance is greater than or equal to a specified object.
operator !=Returns a value indicating whether this instance is not equal to a specified object.
operator <Returns a value indicating whether this instance is less than a specified object.
operator <=Returns a value indicating whether this instance is less than or equal to a specified object.

Examples

Shows how to work with baselines of assignments.

var project = new Project(DataDir + "AssignmentBaseline2007.mpp");

// assignment baselines are set when one sets the baseline on whole project
project.SetBaseline(BaselineType.Baseline);

// read assignment baseline information
foreach (var assignment in project.ResourceAssignments)
{
    foreach (var baseline in assignment.Baselines)
    {
        Console.WriteLine("Baseline Start: " + baseline.Start);
        Console.WriteLine("Baseline Finish: " + baseline.Finish);
        Console.WriteLine("Baseline Number: " + baseline.BaselineNumber);
        Console.WriteLine("Bcwp: " + baseline.Bcwp);
        Console.WriteLine("Bcws: " + baseline.Bcws);
        Console.WriteLine("Cost: " + baseline.Cost);
        Console.WriteLine("Work: " + baseline.Work);
        if (baseline.TimephasedData != null)
        {
            foreach (var td in baseline.TimephasedData)
            {
                Console.WriteLine("TD Start: " + td.Start);
                Console.WriteLine("TD Finish: " + td.Finish);
                Console.WriteLine("TD Timephased Data Type: " + td.TimephasedDataType);
                Console.WriteLine();
            }
        }

        Console.WriteLine();
    }

    Console.WriteLine();
}

// check baseline equality
var assn1 = project.ResourceAssignments.GetByUid(5);
var assn2 = project.ResourceAssignments.GetByUid(7);

var assignmentBaseline1 = assn1.Baselines.ToList()[0];
var assignmentBaseline2 = assn2.Baselines.ToList()[0];

// baselines can be compared by using 'Equals' method overloads
Console.WriteLine("Are baselines equal: " + assignmentBaseline1.Equals(assignmentBaseline2));

// or by using overloaded arithmetic operation
Console.WriteLine("Is baseline 1 less than baseline 2: " + (assignmentBaseline1 < assignmentBaseline2));

// the baseline hashcode is based on baseline number
Console.WriteLine("Assignment baseline 1 hashcode: " + assignmentBaseline1.GetHashCode());
Console.WriteLine("Assignment baseline 2 hashcode: " + assignmentBaseline2.GetHashCode());

See Also