getCalendar method

  1. @override
Future<List<CalendarEventDto>> getCalendar(
  1. DateTime startDate,
  2. DateTime endDate
)
override

Fetches academic calendar events within a date range.

Returns a list of calendar events (e.g., holidays, exam periods, registration deadlines) between startDate and endDate inclusive.

Requires an active portal session (call login first).

Implementation

@override
Future<List<CalendarEventDto>> getCalendar(
  DateTime startDate,
  DateTime endDate,
) async {
  return calendarResult ??
      [
        (
          id: 60561,
          start: DateTime(2025, 8, 1), // 1753977600000
          end: DateTime(2025, 8, 2), // 1754064000000
          allDay: true,
          title: '114學年度第1學期開始',
          place: null,
          content: null,
          ownerName: '學校行事曆',
          creatorName: '教務處',
        ),
        (
          id: 60574,
          start: DateTime(2025, 9, 8), // 1757260800000
          end: DateTime(2025, 9, 9), // 1757347200000
          allDay: true,
          title: '開學暨註冊截止日、開學典禮',
          place: null,
          content: null,
          ownerName: '學校行事曆',
          creatorName: '教務處',
        ),
        (
          id: 60581,
          start: DateTime(2025, 10, 7), // 1759766400000
          end: DateTime(2025, 10, 8), // 1759852800000
          allDay: true,
          title: '期中撤選開始',
          place: null,
          content: null,
          ownerName: '學校行事曆',
          creatorName: '教務處',
        ),
        (
          id: 60582,
          start: DateTime(2025, 10, 7), // 1759766400000
          end: DateTime(2025, 10, 8), // 1759852800000
          allDay: true,
          title: '國文會考',
          place: null,
          content: null,
          ownerName: '學校行事曆',
          creatorName: '教務處',
        ),
        (
          id: 60589,
          start: DateTime(2025, 11, 3), // 1762099200000
          end: DateTime(2025, 11, 9), // 1762617600000
          allDay: true,
          title: '期中考試',
          place: null,
          content: null,
          ownerName: '學校行事曆',
          creatorName: '教務處',
        ),
        (
          id: 60591,
          start: DateTime(2025, 11, 28), // 1764259200000
          end: DateTime(2025, 11, 28, 17, 0), // 1764320400000
          allDay: false,
          title: '日間部期中撤選結束(17:00 截止)、休退學學生退1/3學雜費截止',
          place: null,
          content: null,
          ownerName: '學校行事曆',
          creatorName: '教務處',
        ),
        (
          id: 60603,
          start: DateTime(2026, 1, 5), // 1767542400000
          end: DateTime(2026, 1, 11), // 1768060800000
          allDay: true,
          title: '期末考試',
          place: null,
          content: null,
          ownerName: '學校行事曆',
          creatorName: '教務處',
        ),
        (
          id: 60605,
          start: DateTime(2026, 1, 12), // 1768147200000
          end: DateTime(2026, 1, 13), // 1768233600000
          allDay: true,
          title: '寒假開始、寒宿開始',
          place: null,
          content: null,
          ownerName: '學校行事曆',
          creatorName: '教務處',
        ),
      ];
}