This commit is contained in:
2026-02-13 15:53:22 +01:00
commit 25271189b5
639 changed files with 49083 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
import 'package:hiddingsel_app/constants/enums.dart';
class ScheduleModel {
final DateTime startTime;
final DateTime endTime;
final Frequency frequency;
final int? interval;
final DateTime? until;
ScheduleModel(
this.startTime, this.endTime, this.frequency, this.interval, this.until);
bool get isAllDay =>
startTime == endTime || (startTime.difference(endTime).inDays != 0 && startTime.difference(endTime).inDays%1 == 0);
toJson() => {
'startTime': startTime.toIso8601String(),
'endTime': endTime.toIso8601String(),
'frequency': frequency.toString(),
'interval': interval,
'until': until?.toIso8601String(),
};
static ScheduleModel fromJson(Map<String, dynamic> json) => ScheduleModel(
DateTime.parse(json['startTime'] as String),
DateTime.parse(json['endTime'] as String),
Frequency.values
.firstWhere((f) => f.toString() == json['frequency']),
json['interval'] as int?,
(json['until'] as String?) != null ? DateTime.parse(json['until'] as String) : null,
);
}