You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.3 KiB
Dart
54 lines
1.3 KiB
Dart
|
3 years ago
|
import 'device.dart';
|
||
|
|
import 'device_transfer_info.dart';
|
||
|
3 years ago
|
|
||
|
3 years ago
|
class DeviceTransfer {
|
||
|
|
String? id;
|
||
|
|
String? userId;
|
||
|
|
String? title;
|
||
|
|
Device? device;
|
||
|
|
DeviceTransferInfo? sender;
|
||
|
|
DeviceTransferInfo? receiver;
|
||
|
3 years ago
|
|
||
|
|
DeviceTransfer({
|
||
|
|
this.id,
|
||
|
|
this.device,
|
||
|
|
this.title,
|
||
|
|
this.userId,
|
||
|
|
this.sender,
|
||
|
|
this.receiver,
|
||
|
|
});
|
||
|
|
|
||
|
3 years ago
|
bool validate() {
|
||
|
|
if (device == null) return false;
|
||
|
|
return receiver?.validate() ?? false;
|
||
|
3 years ago
|
}
|
||
|
|
|
||
|
3 years ago
|
fromDeviceTransfer(DeviceTransfer old) {
|
||
|
3 years ago
|
id = old.id;
|
||
|
|
title = old.title;
|
||
|
|
userId = old.userId;
|
||
|
3 years ago
|
device = old.device != null ? Device.fromDevice(old.device!) : null;
|
||
|
3 years ago
|
final sender = DeviceTransferInfo();
|
||
|
3 years ago
|
if (old.sender != null) {
|
||
|
|
sender.fromDetails(old.sender!);
|
||
|
|
}
|
||
|
3 years ago
|
this.sender = sender;
|
||
|
|
final receiver = DeviceTransferInfo();
|
||
|
3 years ago
|
if (old.receiver != null) {
|
||
|
|
receiver.fromDetails(old.receiver!);
|
||
|
|
}
|
||
|
3 years ago
|
this.receiver = receiver;
|
||
|
|
}
|
||
|
|
|
||
|
3 years ago
|
factory DeviceTransfer.fromJson(Map<String, dynamic> parsedJson) {
|
||
|
3 years ago
|
return DeviceTransfer(
|
||
|
|
id: parsedJson["id"],
|
||
|
|
title: parsedJson["title"],
|
||
|
|
userId: parsedJson["uid"],
|
||
|
|
device: Device.fromJson(parsedJson["eq_sn"]),
|
||
|
3 years ago
|
sender: DeviceTransferInfo.fromJson(parsedJson, "sender_"),
|
||
|
|
receiver: DeviceTransferInfo.fromJson(parsedJson, "receiver_"),
|
||
|
3 years ago
|
);
|
||
|
|
}
|
||
|
|
}
|