29 lines
828 B
Dart
29 lines
828 B
Dart
import 'dart:convert';
|
|
|
|
import '../../webuntisApi.dart';
|
|
import 'getHolidaysResponse.dart';
|
|
|
|
class GetHolidays extends WebuntisApi {
|
|
GetHolidays() : super('getHolidays', null);
|
|
|
|
@override
|
|
Future<GetHolidaysResponse> run() async {
|
|
var rawAnswer = await query(this);
|
|
return finalize(GetHolidaysResponse.fromJson(jsonDecode(rawAnswer)));
|
|
}
|
|
|
|
static GetHolidaysResponseObject? find(GetHolidaysResponse holidaysResponse, {DateTime? time}) {
|
|
time ??= DateTime.now();
|
|
time = DateTime(time.year, time.month, time.day, 0, 0, 0, 0, 0);
|
|
|
|
for (var element in holidaysResponse.result) {
|
|
var start = DateTime.parse(element.startDate.toString());
|
|
var end = DateTime.parse(element.endDate.toString());
|
|
|
|
if(!start.isAfter(time) && !end.isBefore(time)) return element;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
}
|