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.
cloudsolutions-atoms/lib/models/device/device_transfer.dart

54 lines
1.3 KiB
Dart

import 'device.dart';
import 'device_transfer_info.dart';
class DeviceTransfer {
int? id;
String? userId;
String? title;
Device? device;
DeviceTransferInfo? sender;
DeviceTransferInfo? receiver;
DeviceTransfer({
this.id,
this.device,
this.title,
this.userId,
this.sender,
this.receiver,
});
bool validate() {
if (device == null) return false;
return receiver?.validate() ?? false;
}
fromDeviceTransfer(DeviceTransfer old) {
id = old.id;
title = old.title;
userId = old.userId;
device = old.device != null ? Device.fromDevice(old.device!) : null;
final sender = DeviceTransferInfo();
if (old.sender != null) {
sender.fromDetails(old.sender!);
}
this.sender = sender;
final receiver = DeviceTransferInfo();
if (old.receiver != null) {
receiver.fromDetails(old.receiver!);
}
this.receiver = receiver;
}
factory DeviceTransfer.fromJson(Map<String, dynamic> parsedJson) {
return DeviceTransfer(
id: parsedJson["id"],
title: parsedJson["title"],
userId: parsedJson["uid"],
device: Device.fromJson(parsedJson["eq_sn"]),
sender: DeviceTransferInfo.fromJson(parsedJson, "sender"),
receiver: DeviceTransferInfo.fromJson(parsedJson, "receiver"),
);
}
}