TKK_E32232282/Source Code Mobile/ac_model.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,
);
}
}