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.
51 lines
1.2 KiB
Dart
51 lines
1.2 KiB
Dart
import 'package:test_sa/models/device/device.dart';
|
|
import 'package:test_sa/models/device/device_transfer_info.dart';
|
|
|
|
class DeviceTransfer{
|
|
String 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();
|
|
}
|
|
|
|
fromDeviceTransfer(DeviceTransfer old){
|
|
id = old.id;
|
|
title = old.title;
|
|
userId = old.userId;
|
|
device = Device.fromDevice(old.device);
|
|
final sender = DeviceTransferInfo();
|
|
sender.fromDetails(old.sender);
|
|
this.sender = sender;
|
|
final receiver = DeviceTransferInfo();
|
|
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_"),
|
|
);
|
|
}
|
|
}
|
|
|