add validation for assistant employee start and end date

design_3.0_task_module_new
WaseemAbbasi22 6 months ago
parent 56c758f0a7
commit 4698a3325e

@ -385,67 +385,71 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
List<File> _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<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(

Loading…
Cancel
Save