|
|
|
|
import '../department.dart';
|
|
|
|
|
import '../hospital.dart';
|
|
|
|
|
import '../lookup.dart';
|
|
|
|
|
|
|
|
|
|
class DeviceTransferInfo {
|
|
|
|
|
String? userId;
|
|
|
|
|
String? comment;
|
|
|
|
|
Hospital? client;
|
|
|
|
|
Department? department;
|
|
|
|
|
String? workingHours;
|
|
|
|
|
String? travelingHours;
|
|
|
|
|
String? name;
|
|
|
|
|
String? signature;
|
|
|
|
|
Lookup? status;
|
|
|
|
|
|
|
|
|
|
DeviceTransferInfo({
|
|
|
|
|
this.userId,
|
|
|
|
|
this.comment,
|
|
|
|
|
this.department,
|
|
|
|
|
this.client,
|
|
|
|
|
this.name,
|
|
|
|
|
this.travelingHours,
|
|
|
|
|
this.workingHours,
|
|
|
|
|
this.signature,
|
|
|
|
|
this.status,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Map<String, String> toJson(bool isSender) {
|
|
|
|
|
Map<String, String> body = {};
|
|
|
|
|
final baseKey = isSender ? "sender_" : "receiver_";
|
|
|
|
|
|
|
|
|
|
if (comment?.isNotEmpty ?? false) body["${baseKey}comment"] = comment!;
|
|
|
|
|
if (workingHours?.isNotEmpty ?? false) {
|
|
|
|
|
body["${baseKey}working_hours"] = workingHours!;
|
|
|
|
|
}
|
|
|
|
|
if (travelingHours?.isNotEmpty ?? false) {
|
|
|
|
|
body["${baseKey}travel_hours"] = comment!;
|
|
|
|
|
}
|
|
|
|
|
final status = this.status;
|
|
|
|
|
if (status != null) body["${baseKey}status"] = status.id.toString();
|
|
|
|
|
if (signature?.isNotEmpty ?? false) body["${baseKey}image"] = signature!;
|
|
|
|
|
return body;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool validate() {
|
|
|
|
|
if (client == null) return false;
|
|
|
|
|
if (department == null) return false;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fromDetails(DeviceTransferInfo? old, {bool withSignature = true}) {
|
|
|
|
|
userId = old?.userId;
|
|
|
|
|
name = old?.name;
|
|
|
|
|
client = old?.client != null ? Hospital.fromHospital(old?.client) : null;
|
|
|
|
|
department =
|
|
|
|
|
department != null ? Department.fromDepartment(old?.department!) : null;
|
|
|
|
|
workingHours = old?.workingHours;
|
|
|
|
|
travelingHours = old?.travelingHours;
|
|
|
|
|
comment = old?.comment;
|
|
|
|
|
if (withSignature) signature = old?.signature;
|
|
|
|
|
status = old?.status;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
factory DeviceTransferInfo.fromJson(
|
|
|
|
|
Map<String, dynamic> parsedJson, String key) {
|
|
|
|
|
return DeviceTransferInfo(
|
|
|
|
|
workingHours: parsedJson["${key}working_hours"],
|
|
|
|
|
travelingHours: parsedJson["${key}travel_hours"],
|
|
|
|
|
name: parsedJson["${key}name"],
|
|
|
|
|
signature: parsedJson["${key}image"],
|
|
|
|
|
userId: parsedJson["${key}id"],
|
|
|
|
|
comment: parsedJson["${key}comment"],
|
|
|
|
|
client: Hospital.fromJson(parsedJson["${key}client"]),
|
|
|
|
|
department: Department.fromJson(parsedJson["${key}department"]),
|
|
|
|
|
status: Lookup.fromJson(parsedJson["${key}status"]),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|