60 lines
1.9 KiB
Dart
60 lines
1.9 KiB
Dart
import 'dart:collection';
|
|
import 'dart:convert';
|
|
import 'dart:developer';
|
|
|
|
import 'package:intl/intl.dart';
|
|
import 'package:marianum_mobile/api/webuntis/queries/authenticate/authenticate.dart';
|
|
import 'package:marianum_mobile/api/webuntis/queries/authenticate/authenticateResponse.dart';
|
|
import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRoomsCache.dart';
|
|
import 'package:marianum_mobile/api/webuntis/queries/getRooms/getRoomsResponse.dart';
|
|
import 'package:marianum_mobile/api/webuntis/queries/getSubjects/getSubjectsCache.dart';
|
|
import 'package:marianum_mobile/api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
|
|
import 'package:marianum_mobile/data/dataHolder.dart';
|
|
|
|
import '../../api/webuntis/queries/getTimetable/getTimetable.dart';
|
|
import '../../api/webuntis/queries/getTimetable/getTimetableCache.dart';
|
|
import '../../api/webuntis/queries/getTimetable/getTimetableParams.dart';
|
|
import '../../api/webuntis/queries/getTimetable/getTimetableResponse.dart';
|
|
|
|
class Timetable extends DataHolder {
|
|
int day = int.parse(DateFormat("yyyyMMdd").format(DateTime.now()));
|
|
|
|
Timetable() : super();
|
|
|
|
GetTimetableResponse? _getTimetableResponse;
|
|
GetTimetableResponse? get getTimetableResponse => _getTimetableResponse;
|
|
|
|
GetRoomsResponse? _getRoomsResponse;
|
|
GetRoomsResponse? get getRoomsResponse => _getRoomsResponse;
|
|
|
|
GetSubjectsResponse? _getSubjectsResponse;
|
|
GetSubjectsResponse? get getSubjectsResponse => _getSubjectsResponse;
|
|
|
|
@override
|
|
Future<void> run() async {
|
|
GetTimetableCache(
|
|
day: day,
|
|
onUpdate: (data) =>
|
|
{
|
|
_getTimetableResponse = data,
|
|
notifyListeners(),
|
|
}
|
|
);
|
|
|
|
GetRoomsCache(
|
|
onUpdate: (data) =>
|
|
{
|
|
_getRoomsResponse = data,
|
|
notifyListeners(),
|
|
}
|
|
);
|
|
|
|
GetSubjectsCache(
|
|
onUpdate: (data) =>
|
|
{
|
|
_getSubjectsResponse = data,
|
|
notifyListeners(),
|
|
}
|
|
);
|
|
}
|
|
} |