Created basic Timer class and TimerEntity
Signed-off-by: Andreas Fahrecker <AndreasFahrecker@gmail.com>
This commit is contained in:
parent
d498c2e100
commit
161d39aedc
33
lib/models/timer.dart
Normal file
33
lib/models/timer.dart
Normal file
@ -0,0 +1,33 @@
|
||||
import 'package:meta/meta.dart';
|
||||
import 'package:time_progress_calculator/persistence/timer_entity.dart';
|
||||
|
||||
@immutable
|
||||
class Timer {
|
||||
final DateTime startTime;
|
||||
final DateTime endTime;
|
||||
|
||||
Timer(this.startTime, this.endTime);
|
||||
|
||||
Timer copyWith({DateTime startTime, DateTime endTime}) {
|
||||
return Timer(startTime ?? this.startTime, endTime ?? this.endTime);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => startTime.hashCode ^ endTime.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is Timer &&
|
||||
runtimeType == other.runtimeType &&
|
||||
startTime == other.startTime &&
|
||||
endTime == other.endTime;
|
||||
|
||||
TimerEntity toEntity() {
|
||||
return TimerEntity(startTime, endTime);
|
||||
}
|
||||
|
||||
static Timer fromEntity(TimerEntity entity) {
|
||||
return Timer(entity.startTime, entity.endTime);
|
||||
}
|
||||
}
|
32
lib/persistence/timer_entity.dart
Normal file
32
lib/persistence/timer_entity.dart
Normal file
@ -0,0 +1,32 @@
|
||||
class TimerEntity {
|
||||
final DateTime startTime;
|
||||
final DateTime endTime;
|
||||
|
||||
TimerEntity(this.startTime, this.endTime);
|
||||
|
||||
@override
|
||||
int get hashCode => startTime.hashCode ^ endTime.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is TimerEntity &&
|
||||
runtimeType == other.runtimeType &&
|
||||
startTime == other.startTime &&
|
||||
endTime == other.endTime;
|
||||
|
||||
Map<String, Object> toJson() {
|
||||
return {
|
||||
"startTime": startTime.millisecondsSinceEpoch,
|
||||
"endTime": startTime.millisecondsSinceEpoch
|
||||
};
|
||||
}
|
||||
|
||||
static TimerEntity fromJson(Map<String, Object> json) {
|
||||
DateTime startTime =
|
||||
DateTime.fromMillisecondsSinceEpoch(json["startTime"] as int);
|
||||
DateTime endTime =
|
||||
DateTime.fromMillisecondsSinceEpoch(json["endTime"] as int);
|
||||
return TimerEntity(startTime, endTime);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user