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