Device Status in PM Entry

main_design2.0
zaid_daoud 3 years ago
parent 300bc0a1a6
commit a26684de11

@ -75,8 +75,8 @@ class Pentry {
Map<String, dynamic> toMap(int visitId) { Map<String, dynamic> toMap(int visitId) {
Map<String, dynamic> map = {}; Map<String, dynamic> map = {};
map["visitStatusId"] = ppmVisitStatus?.id.toString(); map["visitStatusId"] = ppmVisitStatus?.id?.toString();
if (status != null) map["deviceStatusId"] = status?.id.toString(); if (status != null) map["deviceStatusId"] = status?.id?.toString();
if (travelingHours != null) map["travelingHours"] = travelingHours; if (travelingHours != null) map["travelingHours"] = travelingHours;
//if(imageFile != null) map["file_attachement"] = base64Encode(imageFile.readAsBytesSync()); //if(imageFile != null) map["file_attachement"] = base64Encode(imageFile.readAsBytesSync());
map["actualDate"] = actualVisitDate.toIso8601String(); map["actualDate"] = actualVisitDate.toIso8601String();
@ -87,7 +87,7 @@ class Pentry {
map["workingHours"] = (timer.durationInSecond / 60 / 60).toStringAsFixed(5); map["workingHours"] = (timer.durationInSecond / 60 / 60).toStringAsFixed(5);
} }
if (files?.isNotEmpty ?? false) { 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; map["travelingHours"] = travelingHours;
// if(contacts?.isNotEmpty == true) { // if(contacts?.isNotEmpty == true) {
@ -104,10 +104,12 @@ class Pentry {
map["engSignature"] = signatureEngineer; //"${DateTime.now().toIso8601String()}.png|$signatureEngineer"; map["engSignature"] = signatureEngineer; //"${DateTime.now().toIso8601String()}.png|$signatureEngineer";
return map; return map;
} }
bool _isLocalUrl(String url) { bool _isLocalUrl(String url) {
if (url?.isEmpty != false) return false; if (url?.isEmpty != false) return false;
return url.startsWith("/") || url.startsWith("file://") || url.substring(1).startsWith(':\\'); return url.startsWith("/") || url.startsWith("file://") || url.substring(1).startsWith(':\\');
} }
factory Pentry.fromMap(Map<String, dynamic> map) { factory Pentry.fromMap(Map<String, dynamic> map) {
// List<Contact> contacts = []; // List<Contact> contacts = [];
// if(map['contacts'] != null){ // if(map['contacts'] != null){
@ -136,7 +138,7 @@ class Pentry {
calibrationTools = (map['vCalibrationTools'] as List<dynamic>).map((e) => CalibrationTool.fromMap(e as Map<String, dynamic>)).toList(); calibrationTools = (map['vCalibrationTools'] as List<dynamic>).map((e) => CalibrationTool.fromMap(e as Map<String, dynamic>)).toList();
} }
return Pentry( 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"]), ppmVisitStatus: Lookup(id: map["visitStatusId"], name: map["visitStatusName"]),
actualVisitDate: DateTime.tryParse(map["actualDate"] ?? ""), actualVisitDate: DateTime.tryParse(map["actualDate"] ?? ""),
expectedVisitDate: DateTime.tryParse(map["expectedDate"] ?? ""), expectedVisitDate: DateTime.tryParse(map["expectedDate"] ?? ""),

@ -57,7 +57,9 @@ class _PentryInfoFormState extends State<PentryInfoForm> {
PentryVisitsStatusMenu( PentryVisitsStatusMenu(
initialValue: widget.model.ppmVisitStatus, initialValue: widget.model.ppmVisitStatus,
onSelect: (status) { onSelect: (status) {
widget.model.ppmVisitStatus = status; if (status != null) {
widget.model.ppmVisitStatus = status;
}
}, },
), ),
const SizedBox( const SizedBox(

Loading…
Cancel
Save