diff --git a/lib/controllers/providers/api/asset_transfer_provider.dart b/lib/controllers/providers/api/asset_transfer_provider.dart index bdf388ba..c53cbc91 100644 --- a/lib/controllers/providers/api/asset_transfer_provider.dart +++ b/lib/controllers/providers/api/asset_transfer_provider.dart @@ -150,92 +150,11 @@ class AssetTransferProvider extends ChangeNotifier { } Future updateRequest({ - @required String host, - @required User user, - @required bool isSender, - @required int requestId, - @required AssetTransfer oldModel, - @required AssetTransfer newModel, + @required AssetTransfer assetTransfer, }) async { - Map body = { - "id": oldModel.id, - // "assetId": oldModel.device.id ?? "", - // "senderSiteId": oldModel.sender.client.id, - // "destSiteId": oldModel.receiver.client.id, - // "destDepartmentId": oldModel.receiver.department.id, - }; - - if (isSender) { - body.addAll({ - // "senderSiteId": newModel.client.id, - // "senderDepartmentId": newModel.department.id, - // "senderAssignedEmployeeId": newModel.userId, - // "senderMachineStatusId": newModel.status.id, - // "senderComment": newModel.comment, - // "senderWorkingHours": newModel.workingHours, - // "senderStartDate": newModel.timer?.startAt?.toIso8601String(), - // "senderEndDate": newModel.timer?.endAt?.toIso8601String(), - // "senderTravelingHours": newModel.travelingHours, - // "senderEngSignature": newModel.engSignature, - // if (newModel?.attachments?.isNotEmpty ?? false) - // "senderAttachments": - // newModel?.attachments?.map((file) => {"attachmentName": _isLocalUrl(file.path) ? ("${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}") : file.path})?.toList(), - // "destSiteId": oldModel.receiver.client?.id, - // "destDepartmentId": oldModel.receiver.department?.id, - // "destBuildingId": oldModel.device?.destBuildingId, - // "destFloorId": oldModel.device?.destFloorId, - // "destRoom": oldModel.device?.destRoom, - // "receiverAssignedEmployeeId": oldModel.receiver.userId, - // "receiverMachineStatusId": oldModel.receiver.status.id ?? "", - // "receiverComment": oldModel.receiver.comment, - // "receiverWorkingHours": oldModel.receiver.workingHours, - // "receiverStartDate": oldModel.receiver.timer?.startAt?.toIso8601String(), - // "receiverEndDate": oldModel.receiver.timer?.endAt?.toIso8601String(), - // "receiverTravelingHours": oldModel.receiver?.travelingHours, - // "receiverEngSignature": oldModel.receiver?.engSignature, - // if (oldModel.receiver?.attachments?.isNotEmpty ?? false) - // "receiverAttachments": oldModel.receiver?.attachments - // ?.map((file) => {"attachmentName": _isLocalUrl(file.path) ? ("${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}") : file.path}) - // ?.toList(), - }); - } else { - body.addAll({ - // "senderSiteId": oldModel.sender.client.id, - // "senderDepartmentId": oldModel.sender.department.id, - // "senderAssignedEmployeeId": oldModel.sender.userId, - // "senderMachineStatusId": oldModel.sender.status.id, - // "senderComment": oldModel.sender.comment, - // "senderWorkingHours": oldModel.sender.workingHours, - // "senderStartDate": oldModel.sender.timer?.startAt?.toIso8601String(), - // "senderEndDate": oldModel.sender.timer?.endAt?.toIso8601String(), - // "senderTravelingHours": oldModel.sender?.travelingHours, - // "senderEngSignature": oldModel.sender?.engSignature, - // if (oldModel.sender?.attachments?.isNotEmpty ?? false) - // "senderAttachments": - // oldModel.sender?.attachments?.map((file) => {"attachmentName": _isLocalUrl(file.path) ? ("${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}") : file.path})?.toList(), - // "destSiteId": newModel.client?.id, - // "destDepartmentId": newModel.department?.id, - // "destBuildingId": oldModel.device?.destBuildingId, - // "destFloorId": oldModel.device?.destFloorId, - // "destRoom": oldModel.device?.destRoom, - // "receiverAssignedEmployeeId": newModel.userId, - // "receiverMachineStatusId": newModel.status?.id ?? "", - // "receiverComment": newModel.comment, - // "receiverWorkingHours": newModel.workingHours, - // "receiverStartDate": newModel.timer?.startAt?.toIso8601String(), - // "receiverEndDate": newModel.timer?.endAt?.toIso8601String(), - // "receiverTravelingHours": newModel.travelingHours, - // "receiverEngSignature": newModel.engSignature, - // if (newModel?.attachments?.isNotEmpty ?? false) - // "receiverAttachments": - // newModel?.attachments?.map((file) => {"attachmentName": _isLocalUrl(file.path) ? ("${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}") : file.path})?.toList(), - }); - } - //body.addAll(newModel.toJson(isSender)); - log(body?.toString()); Response response; try { - response = await ApiManager.instance.put(URLs.updateDeviceTransfer, body: body); + response = await ApiManager.instance.put(URLs.updateDeviceTransfer, body: assetTransfer.toJson()); print(response.body); // print("${newModel.engSignature}.png"); diff --git a/lib/models/device/asset_transfer.dart b/lib/models/device/asset_transfer.dart index 46fe292d..790dda43 100644 --- a/lib/models/device/asset_transfer.dart +++ b/lib/models/device/asset_transfer.dart @@ -425,6 +425,8 @@ class AssetTransfer { return map; } + + fromDetails(AssetTransfer assetTransfer){ id= assetTransfer.id; diff --git a/lib/views/pages/device_transfer/device_transfer_details.dart b/lib/views/pages/device_transfer/device_transfer_details.dart index e17e3abf..b378496d 100644 --- a/lib/views/pages/device_transfer/device_transfer_details.dart +++ b/lib/views/pages/device_transfer/device_transfer_details.dart @@ -121,11 +121,11 @@ class _DeviceTransferDetailsState extends State { unit: _model.senderDepartmentName??"", comment: _model.senderComment??"", /// TBD - statusLabel: StatusLabel( - label: _model.senderMachineStatusName??"", + statusLabel: _model.senderMachineStatusName != null? StatusLabel( + label: _model.senderMachineStatusName, id: _model.senderMachineStatusId, - textColor: AColors.getRequestStatusTextColor(_model.senderMachineStatusId), - backgroundColor: AColors.getRequestStatusColor(_model.senderMachineStatusId)), + textColor: AColors.getRequestStatusTextColor(getIdstatus(_model.senderMachineStatusName)), + backgroundColor: AColors.getRequestStatusColor(getIdstatus(_model.senderMachineStatusName))):null, ), // receiver card _buildCard( @@ -135,11 +135,11 @@ class _DeviceTransferDetailsState extends State { unit: _model.destDepartmentName??"", comment: _model.receiverComment??"", /// TBD - statusLabel: StatusLabel( + statusLabel: _model.receiverMachineStatusName != null ? StatusLabel( label: _model.receiverMachineStatusName??"", id: _model.receiverMachineStatusId, - textColor: AColors.getRequestStatusTextColor(_model.receiverMachineStatusId), - backgroundColor: AColors.getRequestStatusColor(_model.receiverMachineStatusId)), + textColor: AColors.getRequestStatusTextColor(getIdstatus(_model.receiverMachineStatusName)), + backgroundColor: AColors.getRequestStatusColor(getIdstatus(_model.receiverMachineStatusName))):null, ), ], ), @@ -239,5 +239,19 @@ class _DeviceTransferDetailsState extends State { ).paddingAll(14), ).paddingOnly(top: 14, start: 14, end: 14); } + + int getIdstatus(String status){ + switch(status){ + case "Closed": + return 3 ; + break; + case "Open": + return 1 ; + break; + case "In Progress": + return 2; + break; + } +} } diff --git a/lib/views/pages/device_transfer/update_device_transfer.dart b/lib/views/pages/device_transfer/update_device_transfer.dart index c8b54328..49ec90d0 100644 --- a/lib/views/pages/device_transfer/update_device_transfer.dart +++ b/lib/views/pages/device_transfer/update_device_transfer.dart @@ -1,5 +1,8 @@ +import 'dart:convert'; + import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:fluttertoast/fluttertoast.dart'; import 'package:provider/provider.dart'; import 'package:test_sa/controllers/providers/api/asset_transfer_provider.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart'; @@ -57,7 +60,7 @@ class _UpdateDeviceTransferState extends State { // return false; // } _validate = true; - if (!_formKey.currentState.validate()) { + if (!(_formKey.currentState.validate())) { setState(() {}); return false; } @@ -65,17 +68,17 @@ class _UpdateDeviceTransferState extends State { _isLoading = true; setState(() {}); - // int status = await _deviceTransferProvider.updateRequest( - // user: _userProvider.user, host: _settingProvider.host, requestId: widget.model.id, isSender: widget.isSender, newModel: _formModel, oldModel: widget.model); - // _isLoading = false; - // setState(() {}); - // if (status >= 200 && status < 300) { - // Fluttertoast.showToast( - // msg: context.translation.successfulRequestMessage, - // ); - // _validate = false; - // Navigator.of(context).pop(); - // } + int status = await _deviceTransferProvider.updateRequest( + assetTransfer: _formModel); + _isLoading = false; + setState(() {}); + if (status >= 200 && status < 300) { + Fluttertoast.showToast( + msg: context.translation.successfulRequestMessage, + ); + _validate = false; + Navigator.of(context).pop(); + } } // @override @@ -109,93 +112,99 @@ class _UpdateDeviceTransferState extends State { isFailedLoading: false, stateCode: 200, onRefresh: () async {}, - child: Column( - children: [ - SingleChildScrollView( - padding: EdgeInsets.all(12 * AppStyle.getScaleFactor(context)), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - _buildCard(), - 8.height, - AppTextFormField( - initialValue: widget.isSender? _formModel.senderTravelingHours:_formModel.receiverTravelingHours, - labelText: context.translation.travelingHours, - onSaved:(value){ - widget.isSender? _formModel.senderTravelingHours - : _formModel.receiverTravelingHours= value; - //_formModel?.workingHours = double.tryParse(value); - // _formModel.travelingHours = value; - }, - textInputType: TextInputType.number, - validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only", - ), - 8.height, - AppTextFormField( - labelText: context.translation.workingHours, - initialValue: widget.isSender?_formModel.senderWorkingHours:_formModel.receiverWorkingHours, - onSaved:(value){ - widget.isSender? - _formModel?.senderWorkingHours = value:_formModel?.receiverWorkingHours = value; - // _formModel.timer = timer; - // _formModel.workingHours = (((timer?.durationInSecond ?? 0) / 60) / 60)?.toStringAsFixed(2) ?? "0"; - }, - textInputType: TextInputType.number, - validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only", - ), - 8.height, - ///TBD - Consumer(builder: (context, snapshot, _){ - return SingleItemDropDownMenu( - context: context, - title: context.translation.reportStatus, - initialValue: snapshot.items?.firstWhere((element) => element.name == (widget.isSender?_formModel.senderMachineStatusName:_formModel.receiverMachineStatusName), orElse: () => null), - onSelect: (value) { - if(widget.isSender) { - _formModel.senderMachineStatusName=value.name; - _formModel.senderMachineStatusId=value.value; - }else{ - _formModel.receiverMachineStatusName=value.name; - _formModel.receiverMachineStatusId=value.value; - } - setState(() {}); + child: Form( + key: _formKey, + child: Column( + children: [ + SingleChildScrollView( + padding: EdgeInsets.all(12 * AppStyle.getScaleFactor(context)), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildCard(), + 8.height, + AppTextFormField( + initialValue: widget.isSender? _formModel.senderTravelingHours:_formModel.receiverTravelingHours, + labelText: context.translation.travelingHours, + onSaved:(value){ + widget.isSender? _formModel.senderTravelingHours + : _formModel.receiverTravelingHours= value; + //_formModel?.workingHours = double.tryParse(value); + // _formModel.travelingHours = value; }, - ); - }), - 8.height, - AppTextFormField( - initialValue: widget.isSender?_formModel.senderComment:_formModel.receiverComment, - labelText: context.translation.comments, - textInputType: TextInputType.multiline, - alignLabelWithHint: true, - onSaved: (value){ - widget.isSender? - _formModel.senderComment = value:_formModel.receiverComment; - }, - ), - 8.height, - ESignature( - title: "Signature", - //oldSignature: widget.isSender ? widget.model.senderEngSignature : widget.model.receiverEngSignature, - newSignature: _signature, - onSaved: (signature) { - _signature = signature; - if (signature == null || signature.isEmpty) return; - // _formModel.engSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}"; - // base64Encode(signature); - }, - ), - ], - ), - ).expanded, - Padding( - padding: const EdgeInsets.all(16.0), - child: AppFilledButton( - label: context.translation.update, - onPressed: _update, + textInputType: TextInputType.number, + validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only", + ), + 8.height, + AppTextFormField( + labelText: context.translation.workingHours, + initialValue: widget.isSender?_formModel.senderWorkingHours:_formModel.receiverWorkingHours, + onSaved:(value){ + widget.isSender? + _formModel?.senderWorkingHours = value:_formModel?.receiverWorkingHours = value; + // _formModel.timer = timer; + // _formModel.workingHours = (((timer?.durationInSecond ?? 0) / 60) / 60)?.toStringAsFixed(2) ?? "0"; + }, + textInputType: TextInputType.number, + validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only", + ), + 8.height, + ///TBD + Consumer(builder: (context, snapshot, _){ + return SingleItemDropDownMenu( + context: context, + title: context.translation.reportStatus, + initialValue: snapshot.items?.firstWhere((element) => element.name == (widget.isSender?_formModel.senderMachineStatusName:_formModel.receiverMachineStatusName), orElse: () => null), + onSelect: (value) { + if(widget.isSender) { + _formModel.senderMachineStatusName=value.name; + _formModel.senderMachineStatusId=value.id; + print("${value.id}"); + }else{ + _formModel.receiverMachineStatusName=value.name; + _formModel.receiverMachineStatusId=value.id; + } + setState(() {}); + }, + ); + }), + 8.height, + AppTextFormField( + initialValue: widget.isSender?_formModel.senderComment:_formModel.receiverComment, + labelText: context.translation.comments, + textInputType: TextInputType.multiline, + alignLabelWithHint: true, + onSaved: (value){ + widget.isSender? + _formModel.senderComment = value:_formModel.receiverComment=value; + }, + ), + 8.height, + ESignature( + title: "Signature", + oldSignature: widget.isSender ? widget.model.senderEngSignature : widget.model.receiverEngSignature, + newSignature: _signature, + onSaved: (signature) { + _signature = signature; + if (signature == null || signature.isEmpty) return; + widget.isSender? _formModel.senderEngSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}": + _formModel.receiverEngSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}"; + + base64Encode(signature); + }, + ), + ], + ), + ).expanded, + Padding( + padding: const EdgeInsets.all(16.0), + child: AppFilledButton( + label: context.translation.update, + onPressed: _update, + ), ), - ), - ], + ], + ), ), ), ),