PMU/lib/weekManager.dart

66 lines
1.4 KiB
Dart
Raw Normal View History

2024-09-10 23:39:25 +04:00
import 'dart:math';
import 'package:intl/intl.dart';
import 'main.dart';
class WeekManager {
DateTime deadline;
DateTime currentDate;
Weekday _currentDay;
WeekManager(this.deadline)
: currentDate = DateTime.now(),
_currentDay = _getCurrentDayOfWeek(DateTime.now());
Weekday get currentDay => _currentDay;
static Weekday _getCurrentDayOfWeek(DateTime date) {
switch (date.weekday) {
case 1:
return Weekday.Monday;
case 2:
return Weekday.Tuesday;
case 3:
return Weekday.Wednesday;
case 4:
return Weekday.Thursday;
case 5:
return Weekday.Friday;
case 6:
return Weekday.Saturday;
case 7:
return Weekday.Sunday;
default:
return Weekday.Monday;
}
}
int get daysUntilDeadline {
return deadline.difference(currentDate).inDays;
}
String get formattedDeadline {
DateFormat formatter = DateFormat('dd-MM-yyyy');
return formatter.format(deadline);
}
String get formattedCurrentDate {
DateFormat formatter = DateFormat('dd-MM-yyyy');
return formatter.format(currentDate);
}
void updateCurrentDay() {
_currentDay = _getCurrentDayOfWeek(currentDate);
}
void updateCurrentDate() {
final random = Random();
currentDate = DateTime.now().add(Duration(days: random.nextInt(365)));
}
void incrementCurrentDate() {
currentDate = currentDate.add(const Duration(days: 1));
}
}