diff --git a/lib/models/pantry/pentry.dart b/lib/models/pantry/pentry.dart index 606a73f1..0b742040 100644 --- a/lib/models/pantry/pentry.dart +++ b/lib/models/pantry/pentry.dart @@ -75,8 +75,8 @@ class Pentry { Map toMap(int visitId) { Map map = {}; - map["visitStatusId"] = ppmVisitStatus?.id.toString(); - if (status != null) map["deviceStatusId"] = status?.id.toString(); + map["visitStatusId"] = ppmVisitStatus?.id?.toString(); + if (status != null) map["deviceStatusId"] = status?.id?.toString(); if (travelingHours != null) map["travelingHours"] = travelingHours; //if(imageFile != null) map["file_attachement"] = base64Encode(imageFile.readAsBytesSync()); map["actualDate"] = actualVisitDate.toIso8601String(); @@ -87,7 +87,7 @@ class Pentry { map["workingHours"] = (timer.durationInSecond / 60 / 60).toStringAsFixed(5); } if (files?.isNotEmpty ?? false) { - map["vAttachments"] = files.map((file) => {"attachmentName": _isLocalUrl(file.path) ? (file.path.split("/").last + "|" + base64Encode(file.readAsBytesSync())): file.path}).toList(); + map["vAttachments"] = files.map((file) => {"attachmentName": _isLocalUrl(file.path) ? (file.path.split("/").last + "|" + base64Encode(file.readAsBytesSync())) : file.path}).toList(); } map["travelingHours"] = travelingHours; // if(contacts?.isNotEmpty == true) { @@ -104,10 +104,12 @@ class Pentry { map["engSignature"] = signatureEngineer; //"${DateTime.now().toIso8601String()}.png|$signatureEngineer"; return map; } + bool _isLocalUrl(String url) { if (url?.isEmpty != false) return false; return url.startsWith("/") || url.startsWith("file://") || url.substring(1).startsWith(':\\'); } + factory Pentry.fromMap(Map map) { // List contacts = []; // if(map['contacts'] != null){ @@ -136,7 +138,7 @@ class Pentry { calibrationTools = (map['vCalibrationTools'] as List).map((e) => CalibrationTool.fromMap(e as Map)).toList(); } return Pentry( - status: Lookup(id: map["taskStatusId"], name: map["taskStatusName"]), + status: Lookup(id: map["deviceStatusId"], name: map["deviceStatusName"]), ppmVisitStatus: Lookup(id: map["visitStatusId"], name: map["visitStatusName"]), actualVisitDate: DateTime.tryParse(map["actualDate"] ?? ""), expectedVisitDate: DateTime.tryParse(map["expectedDate"] ?? ""), diff --git a/lib/views/widgets/pentry/pentry_info_form.dart b/lib/views/widgets/pentry/pentry_info_form.dart index 73c4364f..78f4e09d 100644 --- a/lib/views/widgets/pentry/pentry_info_form.dart +++ b/lib/views/widgets/pentry/pentry_info_form.dart @@ -57,7 +57,9 @@ class _PentryInfoFormState extends State { PentryVisitsStatusMenu( initialValue: widget.model.ppmVisitStatus, onSelect: (status) { - widget.model.ppmVisitStatus = status; + if (status != null) { + widget.model.ppmVisitStatus = status; + } }, ), const SizedBox(