changed everything from filcnaplo to refilc finally
This commit is contained in:
47
refilc_kreta_api/lib/models/week.dart
Normal file
47
refilc_kreta_api/lib/models/week.dart
Normal file
@@ -0,0 +1,47 @@
|
||||
// ignore_for_file: no_leading_underscores_for_local_identifiers
|
||||
|
||||
import 'package:refilc_kreta_api/controllers/timetable_controller.dart';
|
||||
|
||||
class Week {
|
||||
DateTime start;
|
||||
DateTime end;
|
||||
|
||||
Week({required this.start, required this.end});
|
||||
|
||||
factory Week.current() => Week.fromDate(DateTime.now());
|
||||
|
||||
factory Week.fromId(int id) {
|
||||
DateTime _now = TimetableController.getSchoolYearStart()
|
||||
.add(Duration(days: id * DateTime.daysPerWeek));
|
||||
DateTime now = DateTime(_now.year, _now.month, _now.day);
|
||||
return Week(
|
||||
start: now.subtract(Duration(days: now.weekday - 1)),
|
||||
end: now.add(Duration(days: DateTime.daysPerWeek - now.weekday)),
|
||||
);
|
||||
}
|
||||
|
||||
factory Week.fromDate(DateTime date) {
|
||||
// fix #32
|
||||
DateTime _date = DateTime(date.year, date.month, date.day);
|
||||
return Week(
|
||||
start: _date.subtract(Duration(days: _date.weekday - 1)),
|
||||
end: _date.add(Duration(days: DateTime.daysPerWeek - _date.weekday)),
|
||||
);
|
||||
}
|
||||
|
||||
Week next() => Week.fromDate(start.add(const Duration(days: 8)));
|
||||
|
||||
int get id =>
|
||||
-(TimetableController.getSchoolYearStart().difference(start).inDays /
|
||||
DateTime.daysPerWeek)
|
||||
.floor();
|
||||
|
||||
@override
|
||||
String toString() => "Week(start: $start, end: $end)";
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) => other is Week && id == other.id;
|
||||
|
||||
@override
|
||||
int get hashCode => id;
|
||||
}
|
||||
Reference in New Issue
Block a user