Коллекция MS Project Outline Codes в Aspose.Tasks

Введение

В этом руководстве мы рассмотрим, как собирать структурные коды Microsoft Project с помощью Aspose.Tasks для .NET. Мы разобьем процесс на пошаговые инструкции, чтобы обеспечить ясность и понимание.

Предварительные условия

Прежде чем мы начнем, убедитесь, что у вас есть следующее:

  1. Visual Studio: установите Visual Studio в свою систему.
  2. Aspose.Tasks для .NET: Загрузите и установите Aspose.Tasks для .NET с сайтаздесь.
  3. Базовое понимание программирования на C#: Знакомство с C# будет полезным.

Импортировать пространства имен

Во-первых, импортируйте необходимые пространства имен для доступа к функциональности Aspose.Tasks в вашем проекте C#.

    using Aspose.Tasks;
    using System;
    
    using Aspose.Tasks.Util;

Шаг 1. Загрузите файл проекта

Начните с загрузки файла Microsoft Project с помощьюProject сорт.

String DataDir = "Your Document Directory";
var project = new Project(DataDir + "OutlineCodes2003.mpp");

Шаг 2. Соберите коды структуры

Создайте сборщик для сбора структурных кодов задач проекта.

var collector = new ChildTasksCollector();
TaskUtils.Apply(project.RootTask, collector, 0);

Шаг 3. Перебор задач и кодов структуры

Перебирайте собранные задачи и структурируйте коды, распечатывая их детали.

for (var i = 0; i < collector.Tasks.Count; i++)
{
    var current = collector.Tasks[i];
    if (current.Get(Tsk.Id) == 0)
    {
        continue;
    }
    Console.WriteLine("Print outline codes for the " + current.Get(Tsk.Name) + " task.");
    Console.WriteLine("Count of outline codes: " + current.OutlineCodes.Count);
    foreach (var outlineCode in current.OutlineCodes)
    {
        Console.WriteLine("Field Id: " + outlineCode.FieldId);
        Console.WriteLine("Value Id: " + outlineCode.ValueId);
        Console.WriteLine("Value Guid: " + outlineCode.ValueGuid);
        Console.WriteLine();
    }
}

Шаг 4. Добавьте определение пользовательского кода структуры

Добавьте в проект определение пользовательского кода структуры.

var outlineCodeDefinition = new OutlineCodeDefinition { FieldId = ((int)ExtendedAttributeTask.OutlineCode3).ToString("D"), Alias = "My Outline Code" };
project.OutlineCodes.Add(outlineCodeDefinition);

Шаг 5. Создайте и вставьте код структуры

Создайте структурный код и вставьте его в задачу.

var value = new OutlineValue { Type = OutlineValueType.Text, Value = "Val1", Description = "Descr1", ValueId = 1 };
outlineCodeDefinition.Values.Add(value);
var codeOne = new OutlineCode { FieldId = outlineCodeDefinition.FieldId, ValueId = 1, ValueGuid = value.ValueGuid.ToString("D").ToUpperInvariant() };
var task = project.RootTask.Children.GetByUid(2);
task.OutlineCodes.Add(codeOne);

Шаг 6: Манипулируйте структурными кодами

При необходимости манипулируйте структурными кодами, например вставляйте, удаляйте или очищайте их.

// Пример манипуляции
// ...
// Вставьте код с цифрой 2 в правой позиции
task.OutlineCodes.Insert(2, code2);
// Проверьте, был ли введен код
Console.WriteLine("Is outline codes contains the inserted value: " + task.OutlineCodes.Contains(code2));

Заключение

В этом руководстве мы узнали, как собирать структурные коды Microsoft Project с помощью Aspose.Tasks для .NET. Следуя этим шагам, вы сможете эффективно управлять структурными кодами в своих проектах, повышая организованность и ясность.

Часто задаваемые вопросы

Вопрос: Могу ли я использовать Aspose.Tasks для .NET с другими языками программирования?

О: Да, Aspose.Tasks for .NET в первую очередь ориентирован на платформу .NET, но также обеспечивает поддержку других языков программирования через Aspose.Tasks for Cloud.

Вопрос: Существуют ли какие-либо ограничения на размер файлов проекта, которые может обрабатывать Aspose.Tasks for .NET?

О: Aspose.Tasks for .NET может эффективно обрабатывать большие файлы Project, но производительность может варьироваться в зависимости от сложности и размера файла.

Вопрос: Совместим ли Aspose.Tasks для .NET с последними версиями Microsoft Project?

О: Да, Aspose.Tasks for .NET поддерживает различные версии Microsoft Project, включая самые последние.

Вопрос: Могу ли я настроить формат вывода при работе с Aspose.Tasks для .NET?

О: Конечно, Aspose.Tasks для .NET предоставляет широкие возможности для настройки формата вывода в соответствии с вашими требованиями.

Вопрос: Где я могу найти дополнительную поддержку или ресурсы для Aspose.Tasks для .NET?

О: Вы можете посетитьФорум Aspose.Tasks для любой помощи или вопросов, касающихся Aspose.Tasks для .NET.