From 4698a3325e42b64b30be226a4b8a5c5ef10f60e9 Mon Sep 17 00:00:00 2001 From: WaseemAbbasi22 Date: Tue, 13 May 2025 09:49:12 +0300 Subject: [PATCH] add validation for assistant employee start and end date --- .../update_device_transfer.dart | 116 +++++++++--------- 1 file changed, 61 insertions(+), 55 deletions(-) diff --git a/lib/views/pages/device_transfer/update_device_transfer.dart b/lib/views/pages/device_transfer/update_device_transfer.dart index fadbe12f..df824fa7 100644 --- a/lib/views/pages/device_transfer/update_device_transfer.dart +++ b/lib/views/pages/device_transfer/update_device_transfer.dart @@ -385,67 +385,71 @@ class _UpdateDeviceTransferState extends State { List _files = []; _update({required int status}) async { + _formKey.currentState!.save(); + if (_validateForm()) { + _formModel.statusValue = status; + _formModel.isSender = widget.isSender; + _formModel.assetTransferAttachments = []; + int workingHours = _formModel.tbsTimer?.endAt!.difference(_formModel.tbsTimer!.startAt!).inSeconds ?? 0; + + if (widget.isSender) { + _formModel.senderVisitTimers?.add( + VisitTimers( + id: 0, + startDateTime: _formModel.tbsTimer?.startAt?.toIso8601String(), + endDateTime: _formModel.tbsTimer?.endAt?.toIso8601String(), + workingHours: ((workingHours) / 60 / 60), + ), + ); + _formModel.assetTransferEngineerTimers = _formModel.senderVisitTimers; + } else { + _formModel.receiverVisitTimers?.add( + VisitTimers( + id: 0, + startDateTime: _formModel.tbsTimer?.startAt?.toIso8601String(), + endDateTime: _formModel.tbsTimer?.endAt?.toIso8601String(), + workingHours: ((workingHours) / 60 / 60), + ), + ); + _formModel.assetTransferEngineerTimers = _formModel.receiverVisitTimers; + } + try { + for (var file in _files) { + String attachmentName = file.path; + if (attachmentName.contains("/")) { + attachmentName = file.path.split("/").last; + attachmentName = "$attachmentName|${base64Encode(file.readAsBytesSync())}"; + } + _formModel.assetTransferAttachments!.add(AssetTransferAttachment(id: 0, attachmentName: attachmentName)); + _formModel.attachments = _formModel.assetTransferAttachments; + } + } catch (error) { + print(error); + } + await _deviceTransferProvider.updateRequest(context, model: _formModel); + } + } + + bool _validateForm() { if (_formModel.tbsTimer?.startAt == null) { - await Fluttertoast.showToast(msg: "Working Hours Required"); + Fluttertoast.showToast(msg: "Working Hours Required"); return false; } if (_formModel.tbsTimer?.endAt == null || isTimerRunning) { - await Fluttertoast.showToast(msg: "Please Stop The Timer"); + Fluttertoast.showToast(msg: "Please Stop The Timer"); return false; } - if (!(_formKey.currentState!.validate())) { - setState(() {}); - return false; - } - _formKey.currentState!.save(); - - _formModel.statusValue = status; - _formModel.isSender = widget.isSender; - _formModel.assetTransferAttachments = []; - int workingHours = _formModel.tbsTimer?.endAt!.difference(_formModel.tbsTimer!.startAt!).inSeconds?? 0; - - if (widget.isSender) { - _formModel.senderVisitTimers?.add( - VisitTimers( - id: 0, - startDateTime: _formModel.tbsTimer?.startAt?.toIso8601String(), - endDateTime: _formModel.tbsTimer?.endAt?.toIso8601String(), - workingHours: ((workingHours) / 60 / 60), - ), - ); - _formModel.assetTransferEngineerTimers = _formModel.senderVisitTimers; - } else { - _formModel.receiverVisitTimers?.add( - VisitTimers( - id: 0, - startDateTime: _formModel.tbsTimer?.startAt?.toIso8601String(), - endDateTime: _formModel.tbsTimer?.endAt?.toIso8601String(), - workingHours: ((workingHours) / 60 / 60), - ), - ); - _formModel.assetTransferEngineerTimers = _formModel.receiverVisitTimers; - } - try { - for (var file in _files) { - String attachmentName = file.path; - if (attachmentName.contains("/")) { - 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; - // } + 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; } - } catch (error) { - print(error); } - - await _deviceTransferProvider.updateRequest(context, model: _formModel); + return true; } @override @@ -472,10 +476,12 @@ class _UpdateDeviceTransferState extends State { : (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(