일정표 속성 작업
Contents
[
Hide
Show
]개요
Microsoft Project의 일정표는 전체 프로젝트뿐 아니라 개별 작업 및 리소스에 대한 근무 시간과 비근무 시간을 정의합니다. Aspose.Tasks for .NET은 이러한 일정표에 대한 프로그래밍 방식 접근을 제공하며, 기본 계층 구조, 이름 지정, 고유 식별자 등에 접근할 수 있습니다.
이 문서에서는 Aspose.Tasks API를 사용하여 일정표의 일반 속성에 접근하고 수정하는 방법을 설명합니다.
주요 일정표 속성
Calendar
클래스는 일정표의 정체성과 구조를 정의하는 여러 핵심 속성을 제공합니다:
BaseCalendar
: 현재 일정표가 근무 시간을 상속받는 다른 일정표를 참조합니다. 이 속성은 현재 일정표가 기본 일정표가 아닌 경우에만 적용됩니다.Name
: 사용자 인터페이스 및 보고서에서 일정표를 식별하는 데 사용되는 사람이 읽을 수 있는 이름입니다.Uid
: 프로젝트 파일 내에서 일정표를 추적하고 참조하는 데 사용되는 고유 정수 식별자입니다.
이러한 속성은 일정표 컬렉션을 다루거나, 리소스에 일정표를 할당하거나, 프로젝트 구조를 다른 형식으로 내보낼 때 매우 중요합니다.
일정표 메타데이터 읽기
다음 코드는 일정표의 일반 속성(예: 이름, UID, 기본 일정표 참조)을 읽고 표시하는 방법을 보여줍니다.
1// Load an existing project
2Project project = new Project("Project_GeneralCalendarProperties.xml");
3
4foreach (Calendar cal in project.Calendars)
5{
6 if (cal.Name != null)
7 {
8 Console.WriteLine("UID : " + cal.Uid.ToString() + " Name: " + cal.Name);
9
10 // Show if it is has a base calendar
11 Console.Write("Base Calendar : ");
12 if (cal.IsBaseCalendar)
13 Console.WriteLine("Self");
14 else
15 Console.WriteLine(cal.BaseCalendar.Name);
16
17 // Get Time in hours on each working day
18 foreach (WeekDay wd in cal.WeekDays)
19 {
20 TimeSpan ts = wd.GetWorkingTime();
21 Console.WriteLine("Day Type: " + wd.DayType.ToString() + " Hours: " + ts.ToString());
22 }
23 }
24}
사용 사례 예시
이러한 속성은 다음과 같은 시나리오에서 자주 사용됩니다:
- 일정표 요약이 포함된 문서나 보고서 생성
- 프로젝트 구조의 검증 또는 변환 수행
- 기본 일정표와 종속 작업/리소스 일정표 간의 상속 관계 관리
이러한 핵심 속성을 이해하고 조작함으로써 개발자는 일정 논리를 보다 효율적으로 관리하고 Microsoft Project와의 호환성을 보장할 수 있습니다.