You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
3.2 KiB
Dart
88 lines
3.2 KiB
Dart
import 'package:flutter/foundation.dart';
|
|
|
|
class GetEmployeeContactsList {
|
|
String? cONTACTNAME;
|
|
int? cONTACTPERSONID;
|
|
int? cONTACTRELATIONSHIPID;
|
|
String? cONTACTTYPE;
|
|
String? dATEOFBIRTH;
|
|
int? pERSONID;
|
|
String? pRIMARYCONTACTFLAG;
|
|
String? rELATIONSHIP;
|
|
String? mAZAYAACCESSFLG;
|
|
dynamic mazayaAccess;
|
|
String? nATIONALIDENTIFIER;
|
|
|
|
// Real ERP response fields - needed to call the grant-access API later (as P_BIRTH_DATE /
|
|
// P_NHIC_VERIFIED_FLAG request params). PatientIdentificationID/PatientOutSA are NOT
|
|
// response fields - they're constructed at call time (from nATIONALIDENTIFIER, and a
|
|
// hardcoded 0, respectively), so they don't belong on this model.
|
|
// Not a plain string per ERP - keep untyped so whatever shape comes back (epoch, nested
|
|
// date object, etc.) survives round-trip, instead of assuming a format.
|
|
dynamic pBIRTHDATE;
|
|
String? pNHICVERIFIEDFLAG;
|
|
|
|
GetEmployeeContactsList({
|
|
this.cONTACTNAME,
|
|
this.cONTACTPERSONID,
|
|
this.cONTACTRELATIONSHIPID,
|
|
this.cONTACTTYPE,
|
|
this.dATEOFBIRTH,
|
|
this.pERSONID,
|
|
this.pRIMARYCONTACTFLAG,
|
|
this.rELATIONSHIP,
|
|
this.mAZAYAACCESSFLG,
|
|
this.mazayaAccess,
|
|
this.nATIONALIDENTIFIER,
|
|
this.pBIRTHDATE,
|
|
this.pNHICVERIFIEDFLAG,
|
|
});
|
|
|
|
GetEmployeeContactsList.fromJson(Map<String, dynamic> json) {
|
|
cONTACTNAME = json['CONTACT_NAME'];
|
|
cONTACTPERSONID = json['CONTACT_PERSON_ID'];
|
|
cONTACTRELATIONSHIPID = json['CONTACT_RELATIONSHIP_ID'];
|
|
cONTACTTYPE = json['CONTACT_TYPE'];
|
|
dATEOFBIRTH = json['DATE_OF_BIRTH'];
|
|
pERSONID = json['PERSON_ID'];
|
|
pRIMARYCONTACTFLAG = json['PRIMARY_CONTACT_FLAG'];
|
|
rELATIONSHIP = json['RELATIONSHIP'];
|
|
mAZAYAACCESSFLG = json['MAZAYA_ACCESS_FLG']?.toString() ?? json['MAZAYA_ACCESS']?.toString();
|
|
mazayaAccess = mAZAYAACCESSFLG;
|
|
nATIONALIDENTIFIER =
|
|
json['NATIONAL_IDENTIFIER']?.toString() ??
|
|
json['NATIONAL_ID']?.toString() ??
|
|
json['CIVIL_ID']?.toString() ??
|
|
json['IQAMA_NUMBER']?.toString() ??
|
|
json['CONTACT_NATIONAL_IDENTIFIER']?.toString() ??
|
|
json['CONTACT_NATIONAL_ID']?.toString() ??
|
|
json['CONTACT_IDENTIFICATION_ID']?.toString() ??
|
|
json['IDENTIFICATION_ID']?.toString() ??
|
|
json['NATIONALID']?.toString();
|
|
if (nATIONALIDENTIFIER == null || nATIONALIDENTIFIER!.trim().isEmpty) {
|
|
debugPrint("GetEmployeeContactsList: no national id match found, raw contact json: $json");
|
|
}
|
|
|
|
pBIRTHDATE = json['P_BIRTH_DATE'];
|
|
pNHICVERIFIEDFLAG = json['P_NHIC_VERIFIED_FLAG']?.toString();
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
Map<String, dynamic> data = <String, dynamic>{};
|
|
data['CONTACT_NAME'] = cONTACTNAME;
|
|
data['CONTACT_PERSON_ID'] = cONTACTPERSONID;
|
|
data['CONTACT_RELATIONSHIP_ID'] = cONTACTRELATIONSHIPID;
|
|
data['CONTACT_TYPE'] = cONTACTTYPE;
|
|
data['DATE_OF_BIRTH'] = dATEOFBIRTH;
|
|
data['PERSON_ID'] = pERSONID;
|
|
data['PRIMARY_CONTACT_FLAG'] = pRIMARYCONTACTFLAG;
|
|
data['RELATIONSHIP'] = rELATIONSHIP;
|
|
data['MAZAYA_ACCESS_FLG'] = mAZAYAACCESSFLG;
|
|
data['MAZAYA_ACCESS'] = mazayaAccess;
|
|
data['NATIONAL_IDENTIFIER'] = nATIONALIDENTIFIER;
|
|
data['P_BIRTH_DATE'] = pBIRTHDATE;
|
|
data['P_NHIC_VERIFIED_FLAG'] = pNHICVERIFIEDFLAG;
|
|
return data;
|
|
}
|
|
}
|