58 lines
1.3 KiB
Dart
58 lines
1.3 KiB
Dart
class ACModel {
|
|
final bool power;
|
|
final String mode;
|
|
final int temp;
|
|
final String fan;
|
|
final bool swing;
|
|
final String controlMode;
|
|
|
|
ACModel({
|
|
required this.power,
|
|
required this.mode,
|
|
required this.temp,
|
|
required this.fan,
|
|
required this.swing,
|
|
required this.controlMode,
|
|
});
|
|
|
|
factory ACModel.fromMap(Map<dynamic, dynamic> json) {
|
|
return ACModel(
|
|
power: json['power'] ?? false,
|
|
mode: json['mode']?.toString().toUpperCase() ?? 'COOL',
|
|
temp: json['temp'] ?? 24,
|
|
fan: json['fan']?.toString().toUpperCase() ?? 'AUTO',
|
|
swing: json['swing'] == true,
|
|
controlMode: json['control_mode']?.toString().toLowerCase() ?? 'auto',
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toMap() {
|
|
return {
|
|
'power': power,
|
|
'mode': mode,
|
|
'temp': temp,
|
|
'fan': fan,
|
|
'swing': swing,
|
|
'control_mode': controlMode,
|
|
};
|
|
}
|
|
|
|
ACModel copyWith({
|
|
bool? power,
|
|
String? mode,
|
|
int? temp,
|
|
String? fan,
|
|
bool? swing,
|
|
String? controlMode,
|
|
}) {
|
|
return ACModel(
|
|
power: power ?? this.power,
|
|
mode: mode ?? this.mode,
|
|
temp: temp ?? this.temp,
|
|
fan: fan ?? this.fan,
|
|
swing: swing ?? this.swing,
|
|
controlMode: controlMode ?? this.controlMode,
|
|
);
|
|
}
|
|
}
|