add timer list in asset transfer for sender and receiver

main_design2.0
nextwo 1 year ago
parent 67854d2e8c
commit b792585810

@ -176,7 +176,7 @@ class AssetTransferProvider extends ChangeNotifier {
} else { } else {
Fluttertoast.showToast(msg: "${context.translation.failedToCompleteRequest} :${json.decode(response.body)['message']}"); Fluttertoast.showToast(msg: "${context.translation.failedToCompleteRequest} :${json.decode(response.body)['message']}");
} }
Navigator.pop(context,true); Navigator.pop(context, true);
return response.statusCode; return response.statusCode;
} catch (error) { } catch (error) {
Navigator.pop(context); Navigator.pop(context);

@ -8,8 +8,8 @@ import 'package:test_sa/models/timer_model.dart';
import 'asset_transfer_attachment.dart'; import 'asset_transfer_attachment.dart';
class AssetTransfer { class AssetTransfer {
AssetTransfer({ AssetTransfer(
this.id, {this.id,
this.transferNo, this.transferNo,
this.transferCode, this.transferCode,
this.assetId, this.assetId,
@ -72,8 +72,7 @@ class AssetTransfer {
this.supplierName, this.supplierName,
this.senderVisitTimers, this.senderVisitTimers,
this.receiverVisitTimers, this.receiverVisitTimers,
this.tbsTimer this.tbsTimer});
});
AssetTransfer.fromJson(dynamic json) { AssetTransfer.fromJson(dynamic json) {
id = json['id']; id = json['id'];
@ -241,9 +240,8 @@ class AssetTransfer {
List<VisitTimers> receiverVisitTimers; List<VisitTimers> receiverVisitTimers;
TimerModel tbsTimer = TimerModel(); TimerModel tbsTimer = TimerModel();
AssetTransfer copyWith(
AssetTransfer copyWith({ {num id,
num id,
num transferNo, num transferNo,
String transferCode, String transferCode,
num assetId, num assetId,
@ -307,8 +305,7 @@ class AssetTransfer {
String destDepartmentName, String destDepartmentName,
List<VisitTimers> senderVisitTimers, List<VisitTimers> senderVisitTimers,
List<VisitTimers> receiverVisitTimers, List<VisitTimers> receiverVisitTimers,
TimerModel tbsTimer TimerModel tbsTimer}) =>
}) =>
AssetTransfer( AssetTransfer(
id: id ?? this.id, id: id ?? this.id,
transferNo: transferNo ?? this.transferNo, transferNo: transferNo ?? this.transferNo,
@ -370,9 +367,9 @@ class AssetTransfer {
modelId: modelId ?? this.modelId, modelId: modelId ?? this.modelId,
modelName: modelName ?? this.modelName, modelName: modelName ?? this.modelName,
manufacturerId: manufacturerId ?? this.manufacturerId, manufacturerId: manufacturerId ?? this.manufacturerId,
senderVisitTimers: senderVisitTimers??this.senderVisitTimers, senderVisitTimers: senderVisitTimers ?? this.senderVisitTimers,
receiverVisitTimers: receiverVisitTimers??this.receiverVisitTimers, receiverVisitTimers: receiverVisitTimers ?? this.receiverVisitTimers,
tbsTimer: tbsTimer??this.tbsTimer, tbsTimer: tbsTimer ?? this.tbsTimer,
manufacturerName: manufacturerName ?? this.manufacturerName); manufacturerName: manufacturerName ?? this.manufacturerName);
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -564,8 +561,8 @@ class AssetTransfer {
modelName = assetTransfer.modelName; modelName = assetTransfer.modelName;
manufacturerId = assetTransfer.manufacturerId; manufacturerId = assetTransfer.manufacturerId;
manufacturerName = assetTransfer.manufacturerName; manufacturerName = assetTransfer.manufacturerName;
senderVisitTimers=assetTransfer.senderVisitTimers; senderVisitTimers = assetTransfer.senderVisitTimers;
receiverVisitTimers=assetTransfer.receiverVisitTimers; receiverVisitTimers = assetTransfer.receiverVisitTimers;
} }
Future<bool> validate(BuildContext context) async { Future<bool> validate(BuildContext context) async {
@ -584,7 +581,8 @@ class AssetTransfer {
} else if (destDepartmentId == null) { } else if (destDepartmentId == null) {
await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.department}"); await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.department}");
return false; return false;
} if (tbsTimer?.startAt == null) { }
if (tbsTimer?.startAt == null) {
await Fluttertoast.showToast(msg: "Working Hours Required"); await Fluttertoast.showToast(msg: "Working Hours Required");
return false; return false;
} }

@ -59,8 +59,7 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
List<File> _files = []; List<File> _files = [];
_update() async { _update() async {
if (widget.isSender) {
if(widget.isSender) {
_formModel.senderVisitTimers.add( _formModel.senderVisitTimers.add(
VisitTimers( VisitTimers(
id: 0, id: 0,
@ -118,7 +117,7 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
} catch (error) { } catch (error) {
print(error); print(error);
} }
await _deviceTransferProvider.updateRequest(context, assetTransfer: _formModel, isSender:widget.isSender); await _deviceTransferProvider.updateRequest(context, assetTransfer: _formModel, isSender: widget.isSender);
} }
@override @override
@ -148,8 +147,8 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
_settingProvider = Provider.of<SettingProvider>(context); _settingProvider = Provider.of<SettingProvider>(context);
_deviceTransferProvider = Provider.of<AssetTransferProvider>(context, listen: false); _deviceTransferProvider = Provider.of<AssetTransferProvider>(context, listen: false);
double totalWorkingHours = widget.isSender? double totalWorkingHours = widget.isSender
widget.model.senderVisitTimers.fold(0.0, (sum, item) => sum + DateTime.parse(item.endDateTime).difference(DateTime.parse(item.startDateTime)).inSeconds) ? widget.model.senderVisitTimers.fold(0.0, (sum, item) => sum + DateTime.parse(item.endDateTime).difference(DateTime.parse(item.startDateTime)).inSeconds)
: widget.model.receiverVisitTimers.fold(0.0, (sum, item) => sum + DateTime.parse(item.endDateTime).difference(DateTime.parse(item.startDateTime)).inSeconds); : widget.model.receiverVisitTimers.fold(0.0, (sum, item) => sum + DateTime.parse(item.endDateTime).difference(DateTime.parse(item.startDateTime)).inSeconds);
bool isTimerEnable = widget.isSender bool isTimerEnable = widget.isSender
@ -305,7 +304,7 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
context.translation.transferDetails.heading5(context), context.translation.transferDetails.heading5(context),
8.height, 8.height,
'${context.translation.assetName}: ${_formModel.assetName.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context), '${context.translation.assetName}: ${_formModel.assetName.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context),
'${context.translation.requesterName}: ${_formModel?.receiverEndUserName?.cleanupWhitespace?.capitalizeFirstOfEach??""}'.bodyText(context), '${context.translation.requesterName}: ${_formModel?.receiverEndUserName?.cleanupWhitespace?.capitalizeFirstOfEach ?? ""}'.bodyText(context),
], ],
).toShadowContainer(context); ).toShadowContainer(context);
} }
@ -331,5 +330,4 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
return formattedDuration.trim(); return formattedDuration.trim();
} }
} }

Loading…
Cancel
Save