Files
2026-02-13 15:53:22 +01:00

33 lines
1.1 KiB
Dart

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,
);
}