การจัดการงานใน Aspose.Tasks

การแนะนำ

หากคุณเป็นนักพัฒนา .NET ที่ต้องการจัดการงานภายในโครงการของคุณอย่างมีประสิทธิภาพ Aspose.Tasks สำหรับ .NET มอบโซลูชันที่มีประสิทธิภาพ บทช่วยสอนนี้จะแนะนำคุณเกี่ยวกับแง่มุมต่างๆ ของการจัดการงานโดยใช้ Aspose.Tasks โดยเสนอคำแนะนำทีละขั้นตอนและตัวอย่างโค้ด ไม่ว่าคุณจะเพิ่มงาน แสดงส่วนที่แยก ย้ายงานภายใต้พาเรนต์เดียวกัน รับ/ตั้งค่าคุณสมบัติของงาน วนซ้ำการมอบหมายงาน การอ่านเส้นฐานของงาน หรือลบงาน คู่มือนี้ก็มีครอบคลุมทุกอย่างแล้ว

ข้อกำหนดเบื้องต้น

ก่อนที่จะเข้าสู่บทช่วยสอน ตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นต่อไปนี้:

  1. Aspose.Tasks สำหรับ .NET Library: ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไลบรารี Aspose.Tasks สำหรับ .NET แล้ว คุณสามารถดาวน์โหลดได้ที่นี่.
  2. ไดเร็กทอรีเอกสาร: ตั้งค่าไดเร็กทอรีที่จะจัดเก็บเอกสารโครงการของคุณ

นำเข้าเนมสเปซ

ในโปรเจ็กต์ .NET ของคุณ ให้รวมเนมสเปซที่จำเป็นเพื่อทำงานกับ Aspose.Tasks:


    using Aspose.Tasks;
    using System;
    using System.Collections.Generic;
    using System.Diagnostics.CodeAnalysis;
    using System.Linq;
    
    using Aspose.Tasks.Saving;
    using Aspose.Tasks.Util;

1. การเพิ่มงานในโครงการ

// สร้างโครงการใหม่
var project = new Project();
// เพิ่มงาน
var task = project.RootTask.Children.Add("Task1");
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(DataDir + "CreateNewTask_out.xml", SaveFileFormat.Xml);

2. การแสดงส่วนที่แยกของงาน

// โหลดโปรเจ็กต์ที่มีงานแยก
var project = new Project(DataDir + "ViewSplitTasks.mpp");
// เข้าถึงงาน
var task = project.RootTask.Children.GetById(4);
// แสดงการแบ่งส่วน
var collection = task.SplitParts;
foreach (var splitPart in collection)
{
    Console.WriteLine("Start: " + splitPart.Start + "\nFinish: " + splitPart.Finish + "\n");
}

3. การย้ายงานภายใต้ผู้ปกครองคนเดียวกัน

try
{
    // โหลดโปรเจ็กต์
    var project = new Project(DataDir + "MoveTask.mpp");
    // ย้ายงานด้วย id 5 ก่อนงานด้วย id 3
    var task = project.RootTask.Children.GetById(5);
    task.MoveToSibling(3);
    // บันทึกโปรเจ็กต์ที่แก้ไข
    project.Save(DataDir + "MoveTaskUnderSameParent_out.mpp", SaveFileFormat.Mpp);
}
catch (NotSupportedException ex)
{
    Console.WriteLine(ex.Message + "\nPlease apply a valid Aspose.Tasks License.");
}

4. รับ/ตั้งค่าคุณสมบัติของงาน

// สร้างโครงการใหม่
var project = new Project();
// เพิ่มงานและตั้งค่าคุณสมบัติ
var task = project.RootTask.Children.Add();
task.Set(Tsk.Name, "Task1");
task.Set(Tsk.Start, new DateTime(2020, 3, 31, 8, 0, 0));
task.Set(Tsk.Finish, new DateTime(2020, 3, 31, 17, 0, 0));
// รวบรวมและแสดงคุณสมบัติของงาน
var collector = new ChildTasksCollector();
TaskUtils.Apply(project.RootTask, collector, 0);
foreach (var tsk in collector.Tasks)
{
    Console.WriteLine("Task Id: {0}", tsk.Get(Tsk.Id));
    Console.WriteLine("Task Uid: {0}", tsk.Get(Tsk.Uid));
    Console.WriteLine("Task Name: {0}", tsk.Get(Tsk.Name));
    Console.WriteLine("Task Start: {0}", tsk.Get(Tsk.Start));
    Console.WriteLine("Task Finish: {0}", tsk.Get(Tsk.Finish));
}

5. ทำซ้ำการมอบหมายงาน

// โหลดโปรเจ็กต์ที่มีการมอบหมาย
var project = new Project(DataDir + "BudgetWorkAndCost.mpp");
// รวบรวมและแสดงการมอบหมายงาน
var collector = new ChildTasksCollector();
TaskUtils.Apply(project.RootTask, collector, 0);
foreach (var task in collector.Tasks)
{
    foreach (var assignment in task.Assignments)
    {
        Console.WriteLine(assignment.ToString());
    }
}

6. การอ่านบรรทัดฐานของงาน

// สร้างโครงการใหม่
var project = new Project();
// เพิ่มงานและตั้งค่าพื้นฐาน
var task = project.RootTask.Children.Add("Task");
project.SetBaseline(BaselineType.Baseline);
// แสดงระยะเวลาพื้นฐานของงาน
foreach (var baseline in task.Baselines)
{
    Console.WriteLine("Baseline duration is 1 day: {0}", baseline.Duration.ToString().Equals("1 day"));
    Console.WriteLine("BaselineStart is same as Task Start: {0}", baseline.Start.Equals(task.Get(Tsk.Start)));
    Console.WriteLine("BaselineFinish is same as Task Finish: {0}", baseline.Finish.Equals(task.Get(Tsk.Finish)));
}

7. การลบงาน

// สร้างโครงการใหม่
var project = new Project();
// เพิ่มงาน
var task = project.RootTask.Children.Add("Task");
//แสดงจำนวนงานก่อนและหลังการลบ
Console.WriteLine("Number of tasks: " + project.RootTask.Children.Count);
// ลบงาน
task.Delete();
Console.WriteLine("Number of tasks: " + project.RootTask.Children.Count);

บทสรุป

การจัดการงานใน Aspose.Tasks สำหรับ .NET เป็นกระบวนการที่ราบรื่นพร้อมตัวอย่างที่ให้ไว้ ไม่ว่าคุณจะเป็นนักพัฒนาที่มีประสบการณ์หรือเพิ่งเริ่มต้น การนำเทคนิคเหล่านี้ไปใช้จะช่วยเพิ่มความสามารถในการจัดการโครงการของคุณ

คำถามที่พบบ่อย

ถาม: Aspose.Tasks เข้ากันได้กับเฟรมเวิร์ก .NET ทั้งหมดหรือไม่

ตอบ: ใช่ Aspose.Tasks รองรับเฟรมเวิร์ก .NET ที่หลากหลาย เพื่อให้มั่นใจว่าสามารถเข้ากันได้กับสภาพแวดล้อมการพัฒนาของคุณ

ถาม: ฉันจะขอรับใบอนุญาตชั่วคราวสำหรับ Aspose.Tasks ได้อย่างไร

ตอบ: คุณสามารถรับใบอนุญาตชั่วคราว 30 วันได้จากที่นี่.

ถาม: มีข้อจำกัดใดๆ เมื่อทำงานกับการแบ่งงานใน Aspose.Tasks หรือไม่

ตอบ: การแบ่งงานเป็นคุณสมบัติที่มีประสิทธิภาพ และสามารถดูเอกสารโดยละเอียดได้ที่นี่.

ถาม: ฉันสามารถปรับแต่งคุณสมบัติของงานนอกเหนือจากที่แสดงในตัวอย่างได้หรือไม่

ตอบ: แน่นอน! Aspose.Tasks มีตัวเลือกการปรับแต่งที่ครอบคลุมสำหรับคุณสมบัติของงาน ตรวจสอบเอกสารประกอบสำหรับรายละเอียดเพิ่มเติม

ถาม: ฉันจะได้รับการสนับสนุนสำหรับ Aspose.Tasks ได้อย่างไร

ตอบ: เยี่ยมชมฟอรั่ม Aspose.Tasks สำหรับการสนับสนุนและการอภิปรายของชุมชน