using Infragistics.Controls.Schedules;
public class ProjectDataHelper
{
public static Project GenerateProjectData()
{
// プロジェクト インスタンス作成する
Project project = new Project();
// プロジェクト ルート ProjectTask を作成する
ProjectTask rootTask = new ProjectTask
{
TaskName = "Project Summary Task",
IsManual = false
};
// ルート タスクをプロジェクトに追加する
project.RootTask.Tasks.Add(rootTask);
// xamGantt 内の日付は UTC で格納する
DateTime startTime = DateTime.Today.ToUniversalTime();
// ProjectTask のサブタスクをルート プロジェクト タスクに追加する
rootTask.Tasks.Add(new ProjectTask
{
TaskName = "Planning",
IsManual = false,
Start = startTime,
Duration = TimeSpan.FromHours(8),
});
rootTask.Tasks.Add(new ProjectTask
{
TaskName = "Documenting",
IsManual = false,
Start = startTime,
// タスク時間を構成する
ManualDuration = ProjectDuration.FromFormatUnits(2, ProjectDurationFormat.Days),
// タスクの制約を設定する
ConstraintDate = DateTime.Today.AddDays(3).ToUniversalTime(),
ConstraintType = ProjectTaskConstraintType.FinishNoLaterThan,
});
rootTask.Tasks.Add(new ProjectTask
{
TaskName = "Creating Demo Application",
IsManual = false,
Start = startTime,
ManualDuration = ProjectDuration.FromFormatUnits(3, ProjectDurationFormat.Days),
ConstraintType = ProjectTaskConstraintType.MustStartOn,
ConstraintDate = DateTime.Today.AddDays(2).ToUniversalTime(),
IsEstimated = true,
});
rootTask.Tasks.Add(new ProjectTask
{
TaskName = "Collecting Feedback",
IsManual = false,
Start = startTime,
ManualDuration = ProjectDuration.FromFormatUnits(1, ProjectDurationFormat.Days),
IsEstimated = true,
});
rootTask.Tasks.Add(new ProjectTask
{
TaskName = "Designing",
IsManual = false,
Start = startTime,
ManualDuration = ProjectDuration.FromFormatUnits(5, ProjectDurationFormat.Days),
});
rootTask.Tasks.Add(new ProjectTask
{
TaskName = "Development",
IsManual = true,
// 手動タスクには開始日と終了日にフリー テキストを使用可能
ManualStart = new ManualDateTime("Still In Discussion"),
ManualDuration = ProjectDuration.FromFormatUnits(10, ProjectDurationFormat.Days),
ManualFinish = new ManualDateTime("Not Defined Yet"),
});
rootTask.Tasks.Add(new ProjectTask
{
TaskName = "Testing",
IsManual = true,
Start = startTime,
ManualDuration = ProjectDuration.FromFormatUnits(7, ProjectDurationFormat.Days),
});
rootTask.Tasks.Add(new ProjectTask
{
TaskName = "Bug Fixing",
IsManual = true,
Start = startTime,
ManualDuration = ProjectDuration.FromFormatUnits(4, ProjectDurationFormat.Days),
});
rootTask.Tasks.Add(new ProjectTask
{
TaskName = "Project Complete",
IsManual = false,
Start = startTime,
// マイルストーンを設定する
IsMilestone = true
});
return project;
}
}