Aspose.Tasks에서 달력 예외 처리
소개
이 튜토리얼에서는 .NET 프레임워크를 사용하여 Aspose.Tasks에서 달력 예외를 관리하는 방법을 살펴보겠습니다. 달력 예외를 사용하면 휴일이나 임시 휴무 등 정규 작업 일정이 변경되는 프로젝트 달력에서 특별한 날짜나 기간을 정의할 수 있습니다. .NET용 Aspose.Tasks를 사용하여 달력 예외를 단계별로 처리하는 다양한 방법을 다룰 것입니다.
전제조건
시작하기 전에 다음 전제 조건이 충족되었는지 확인하세요.
- C# 프로그래밍 언어에 대한 기본 지식.
- 시스템에 Visual Studio가 설치되어 있습니다.
- .NET 라이브러리용 Aspose.Tasks가 프로젝트에 추가되었습니다.
네임스페이스 가져오기
먼저 프로젝트에 필요한 네임스페이스를 가져오겠습니다.
using Aspose.Tasks;
using System;
1단계: 달력 예외 삭제
캘린더 예외를 삭제하려면 다음 단계를 따르세요.
public void CalendarExceptionDelete()
{
var project = new Project(DataDir + "CalendarExceptions.mpp");
var calendar = project.Calendars.ToList()[0];
// 캘린더 정보 표시
Console.WriteLine("Calendar Name: " + calendar.Name);
Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count);
// 첫 번째 예외 제거
calendar.Exceptions[0].Delete();
Console.WriteLine("Calendar Exception Count after Deletion: " + calendar.Exceptions.Count);
}
2단계: 달력 예외의 근무 시간 가져오기
달력 예외의 작업 시간을 검색하려면 다음 단계를 따르십시오.
[Test]
public void CalendarExceptionGetWorkingTime()
{
var project = new Project(DataDir + "CalendarExceptions.mpp");
var calendar = project.Calendars.ToList()[0];
var exception = calendar.Exceptions[0];
// 달력 및 예외 정보 표시
Console.WriteLine("Calendar Name: " + calendar.Name);
Console.WriteLine("Calendar Exception Count: " + calendar.Exceptions.Count);
Console.WriteLine("Calendar Exception Name: " + exception.Name);
// 근무 시간 확인 및 세부정보 표시
var workingTime = exception.GetWorkingTime();
Console.WriteLine("Exception Working Time: " + workingTime);
foreach (var time in exception.WorkingTimes)
{
Console.WriteLine("Working Time Start: " + time.From);
Console.WriteLine("Working Time Finish: " + time.To);
}
}
3단계: 달력 예외 정의
캘린더 예외를 추가하거나 제거하려면 다음 단계를 따르세요.
[Test]
public void DefineCalendarExceptions()
{
var project = new Project(DataDir + "project_test.mpp");
var calendar = project.Calendars.Add("Calendar1");
// 새 캘린더 예외 만들기
var exception = new CalendarException();
exception.Name = "New Calendar Exception";
// 예외 세부정보 설정
exception.EnteredByOccurrences = false;
exception.FromDate = new DateTime(2009, 12, 24, 0, 0, 0);
exception.ToDate = new DateTime(2009, 12, 31, 23, 59, 0);
exception.Type = CalendarExceptionType.Daily;
exception.Month = Month.December;
exception.DayWorking = false;
// 날짜가 예외인지 확인
Console.WriteLine("Is date an exception date: " + exception.CheckException(new DateTime(2009, 12, 26, 8, 0, 0)));
// 달력에 예외 추가
calendar.Exceptions.Add(exception);
// 존재하는 경우 예외 제거
var cal = project.Calendars.ToList()[0];
if (cal.Exceptions.Count > 1)
{
var excToRemove = cal.Exceptions[0];
cal.Exceptions.Remove(excToRemove);
}
// 새 예외 추가
var exception2 = new CalendarException();
exception2.FromDate = new System.DateTime(2009, 1, 1);
exception2.ToDate = new System.DateTime(2009, 1, 3);
cal.Exceptions.Add(exception2);
// 인쇄 예외
foreach (var exc in cal.Exceptions)
{
Console.WriteLine("Name: " + exc.Name);
Console.WriteLine("From: " + exc.FromDate.ToShortDateString());
Console.WriteLine("To: " + exc.ToDate.ToShortDateString());
}
}
결론
이 기사에서는 .NET용 Aspose.Tasks에서 달력 예외를 처리하는 다양한 측면을 다루었습니다. 제공된 단계를 따르면 프로젝트 일정의 예외를 효과적으로 관리하여 근무 시간과 특별 이벤트를 정확하게 표시할 수 있습니다.
FAQ
Q1: 단일 달력에 여러 예외를 추가할 수 있나요?
A1: 예, 다양한 특별 날짜나 기간을 수용하기 위해 달력에 여러 예외를 추가할 수 있습니다.
Q2: 특정 날짜가 예외인지 어떻게 확인할 수 있나요?
A2: 다음을 사용할 수 있습니다.CheckException()
특정 날짜가 예외에 해당하는지 확인하는 방법입니다.
Q3: 달력에서 기존 예외를 제거할 수 있습니까?
A3: 예, 다음 페이지에 액세스하여 예외를 제거할 수 있습니다.Exceptions
달력 수집 및 사용Remove()
방법.
Q4: 어떤 유형의 달력 예외가 지원됩니까?
A4: Aspose.Tasks는 일일, 주간, 월간 및 연간 예외를 포함한 다양한 유형의 예외를 지원하여 예외 규칙 정의에 유연성을 제공합니다.
Q5: 특정 예외일의 근무 시간을 맞춤 설정할 수 있나요?
A5: 예, Aspose.Tasks에서 제공하는 적절한 방법을 사용하여 개별 예외 날짜에 대한 사용자 정의 작업 시간을 정의할 수 있습니다.