// To parse this JSON data, do // // final familyBackground = familyBackgroundFromJson(jsonString); import 'dart:convert'; import 'dart:ffi'; FamilyBackground familyBackgroundFromJson(String str) => FamilyBackground.fromJson(json.decode(str)); String familyBackgroundToJson(FamilyBackground data) => json.encode(data.toJson()); class FamilyBackground { FamilyBackground({ this.company, this.position, this.relationship, this.relatedPerson, this.companyAddress, this.emergencyContact, this.incaseOfEmergency, this.companyContactNumber, }); final Company? company; final Position? position; final Relationship? relationship; final RelatedPerson? relatedPerson; final String? companyAddress; final List? emergencyContact; final bool? incaseOfEmergency; final String? companyContactNumber; factory FamilyBackground.fromJson(Map json) => FamilyBackground( company: json["company"] == null ? null : Company.fromJson(json["company"]), position: json["position"] == null ? null : Position.fromJson(json["position"]), relationship: json["relationship"] == null ? null : Relationship.fromJson(json["relationship"]), relatedPerson: json["related_person"] == null ? null : RelatedPerson.fromJson(json["related_person"]), companyAddress: json["company_address"], emergencyContact: json["emergency_contact"] == null ? [] : List.from(json["emergency_contact"]!.map((x) => EmergencyContact.fromJson(x))), incaseOfEmergency: json["incase_of_emergency"], companyContactNumber: json["company_contact_number"], ); Map toJson() => { "company": company?.toJson(), "position": position?.toJson(), "relationship": relationship?.toJson(), "related_person": relatedPerson?.toJson(), "company_address": companyAddress, "emergency_contact": emergencyContact == null ? [] : List.from(emergencyContact!.map((x) => x.toJson())), "incase_of_emergency": incaseOfEmergency, "company_contact_number": companyContactNumber, }; } class Company { Company({ this.id, this.name, this.category, this.privateEntity, }); final int? id; final String? name; final Category? category; final bool? privateEntity; factory Company.fromJson(Map json) => Company( id: json["id"], name: json["name"], category: json["category"] == null ? null : Category.fromJson(json["category"]), privateEntity: json["private_entity"], ); Map toJson() => { "id": id, "name": name, "category": category?.toJson(), "private_entity": privateEntity, }; } class Category { Category({ this.id, this.name, this.industryClass, }); final int? id; final String? name; final IndustryClass? industryClass; factory Category.fromJson(Map json) => Category( id: json["id"], name: json["name"], industryClass: json["industry_class"] == null ? null : IndustryClass.fromJson(json["industry_class"]), ); Map toJson() => { "id": id, "name": name, "industry_class": industryClass?.toJson(), }; } class IndustryClass { IndustryClass({ this.id, this.name, this.description, }); final int? id; final String? name; final String? description; factory IndustryClass.fromJson(Map json) => IndustryClass( id: json["id"], name: json["name"], description: json["description"], ); Map toJson() => { "id": id, "name": name, "description": description, }; } class EmergencyContact { EmergencyContact({ this.telco, this.isactive, this.provider, this.isprimary, this.numbermail, this.serviceType, this.contactinfoid, this.commServiceId, }); final String? telco; final bool? isactive; final int? provider; final bool? isprimary; final String? numbermail; final int? serviceType; final int? contactinfoid; final int? commServiceId; factory EmergencyContact.fromJson(Map json) => EmergencyContact( telco: json["telco"], isactive: json["isactive"], provider: json["provider"], isprimary: json["isprimary"], numbermail: json["numbermail"], serviceType: json["service_type"], contactinfoid: json["contactinfoid"], commServiceId: json["comm_service_id"], ); Map toJson() => { "telco": telco, "isactive": isactive, "provider": provider, "isprimary": isprimary, "numbermail": numbermail, "service_type": serviceType, "contactinfoid": contactinfoid, "comm_service_id": commServiceId, }; } class Position { Position({ this.id, this.title, }); final int? id; final String? title; factory Position.fromJson(Map json) => Position( id: json["id"], title: json["title"], ); Map toJson() => { "id": id, "title": title, }; } class RelatedPerson { RelatedPerson({ this.id, this.sex, this.gender, this.deceased, this.heightM, this.birthdate, this.esigPath, this.lastName, this.weightKg, this.bloodType, this.firstName, this.photoPath, this.maidenName, this.middleName, this.uuidQrcode, this.civilStatus, this.titlePrefix, this.titleSuffix, this.showTitleId, this.nameExtension, }); final int? id; final String? sex; final String? gender; final bool? deceased; final double? heightM; final DateTime? birthdate; final String? esigPath; final String? lastName; final double? weightKg; final String? bloodType; final String? firstName; final String? photoPath; final dynamic maidenName; final String? middleName; final String? uuidQrcode; final String? civilStatus; final String? titlePrefix; final String? titleSuffix; final bool? showTitleId; final String? nameExtension; factory RelatedPerson.fromJson(Map json) => RelatedPerson( id: json["id"], sex: json["sex"], gender: json["gender"], deceased: json["deceased"], heightM: json["height_m"] == null?null:double.parse(json["height_m"].toString()), birthdate: json["birthdate"] == null ? null : DateTime.parse(json["birthdate"]), esigPath: json["esig_path"], lastName: json["last_name"], weightKg: json["weight_kg"] == null? null:double.parse(json["weight_kg"].toString()) , bloodType: json["blood_type"], firstName: json["first_name"], photoPath: json["photo_path"], maidenName: json["maiden_name"], middleName: json["middle_name"], uuidQrcode: json["uuid_qrcode"], civilStatus: json["civil_status"], titlePrefix: json["title_prefix"], titleSuffix: json["title_suffix"], showTitleId: json["show_title_id"], nameExtension: json["name_extension"], ); Map toJson() => { "id": id, "sex": sex, "gender": gender, "deceased": deceased, "height_m": heightM, "birthdate": "${birthdate!.year.toString().padLeft(4, '0')}-${birthdate!.month.toString().padLeft(2, '0')}-${birthdate!.day.toString().padLeft(2, '0')}", "esig_path": esigPath, "last_name": lastName, "weight_kg": weightKg, "blood_type": bloodType, "first_name": firstName, "photo_path": photoPath, "maiden_name": maidenName, "middle_name": middleName, "uuid_qrcode": uuidQrcode, "civil_status": civilStatus, "title_prefix": titlePrefix, "title_suffix": titleSuffix, "show_title_id": showTitleId, "name_extension": nameExtension, }; } class Relationship { Relationship({ this.id, this.type, this.category, }); final int? id; final String? type; final String? category; factory Relationship.fromJson(Map json) => Relationship( id: json["id"], type: json["type"], category: json["category"], ); Map toJson() => { "id": id, "type": type, "category": category, }; }