|
|
|
|
@ -385,20 +385,8 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
|
|
|
|
|
List<File> _files = [];
|
|
|
|
|
|
|
|
|
|
_update({required int status}) async {
|
|
|
|
|
if (_formModel.tbsTimer?.startAt == null) {
|
|
|
|
|
await Fluttertoast.showToast(msg: "Working Hours Required");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (_formModel.tbsTimer?.endAt == null || isTimerRunning) {
|
|
|
|
|
await Fluttertoast.showToast(msg: "Please Stop The Timer");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (!(_formKey.currentState!.validate())) {
|
|
|
|
|
setState(() {});
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
_formKey.currentState!.save();
|
|
|
|
|
|
|
|
|
|
if (_validateForm()) {
|
|
|
|
|
_formModel.statusValue = status;
|
|
|
|
|
_formModel.isSender = widget.isSender;
|
|
|
|
|
_formModel.assetTransferAttachments = [];
|
|
|
|
|
@ -432,21 +420,37 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
|
|
|
|
|
attachmentName = file.path.split("/").last;
|
|
|
|
|
attachmentName = "$attachmentName|${base64Encode(file.readAsBytesSync())}";
|
|
|
|
|
}
|
|
|
|
|
// if (widget.isSender) {
|
|
|
|
|
_formModel.assetTransferAttachments!.add(AssetTransferAttachment(id: 0, attachmentName: attachmentName));
|
|
|
|
|
_formModel.attachments = _formModel.assetTransferAttachments;
|
|
|
|
|
// }
|
|
|
|
|
// else {
|
|
|
|
|
// _formModel.receiverAttachments!.add(AssetTransferAttachment(id: 0, attachmentName: attachmentName));
|
|
|
|
|
// _formModel.attachments = _formModel.receiverAttachments;
|
|
|
|
|
// }
|
|
|
|
|
}
|
|
|
|
|
} catch (error) {
|
|
|
|
|
print(error);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
await _deviceTransferProvider.updateRequest(context, model: _formModel);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool _validateForm() {
|
|
|
|
|
if (_formModel.tbsTimer?.startAt == null) {
|
|
|
|
|
Fluttertoast.showToast(msg: "Working Hours Required");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (_formModel.tbsTimer?.endAt == null || isTimerRunning) {
|
|
|
|
|
Fluttertoast.showToast(msg: "Please Stop The Timer");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (_formModel.assistantEmployees != null) {
|
|
|
|
|
if (_formModel.modelAssistantEmployees?.startDate == null) {
|
|
|
|
|
Fluttertoast.showToast(msg: "Please Select Assistant Employee Start Time");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
if (_formModel.modelAssistantEmployees?.endDate == null) {
|
|
|
|
|
Fluttertoast.showToast(msg: "Please Select Assistant Employee End Time");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
void initState() {
|
|
|
|
|
@ -472,10 +476,12 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
|
|
|
|
|
: (widget.model.receiverVisitTimers?.fold(0.0, (sum, item) => (sum ?? 0) + DateTime.parse(item.endDateTime!).difference(DateTime.parse(item.startDateTime!)).inSeconds) ?? 0);
|
|
|
|
|
bool isTimerEnable = widget.isSender ? (!(_formModel.senderMachineStatusValue == 3)) : (!(_formModel.receiverMachineStatusValue == 3));
|
|
|
|
|
return Scaffold(
|
|
|
|
|
appBar: DefaultAppBar(title: context.translation.transferAsset,
|
|
|
|
|
appBar: DefaultAppBar(
|
|
|
|
|
title: context.translation.transferAsset,
|
|
|
|
|
onWillPopScope: () {
|
|
|
|
|
_update(status: 0);
|
|
|
|
|
},),
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
key: _scaffoldKey,
|
|
|
|
|
body: SafeArea(
|
|
|
|
|
child: LoadingManager(
|
|
|
|
|
|