class EmployeeModel { final String id; final String employeeId; final String name; final String designation; final String checkIn; final String checkOut; final int activity; int action; final String jobRole; final String email; final String phoneNumber; EmployeeModel({ required this.id, required this.employeeId, required this.name, required this.designation, required this.checkIn, required this.checkOut, required this.activity, required this.action, required this.jobRole, required this.email, required this.phoneNumber, }); factory EmployeeModel.fromJson(Map json) { return EmployeeModel( id: json['id']?.toString() ?? '', employeeId: json['employeeId']?.toString() ?? '', name: '${json['firstName'] ?? ''} ${json['lastName'] ?? ''}'.trim(), designation: json['jobRoleName'] ?? '', checkIn: json['checkIn']?.toString() ?? '-', checkOut: json['checkOut']?.toString() ?? '-', action: json['action'] ?? 0, activity: json['activity'] ?? 0, jobRole: json['jobRole']?.toString() ?? '-', email: json['email']?.toString() ?? '-', phoneNumber: json['phoneNumber']?.toString() ?? '-', ); } Map toJson() { return { 'id': id, 'employeeId': employeeId, 'firstName': name.split(' ').first, 'lastName': name.split(' ').length > 1 ? name.split(' ').last : '', 'jobRoleName': designation, 'checkIn': checkIn, 'checkOut': checkOut, 'action': action, 'activity': activity, 'jobRole': jobRole.isEmpty ? '-' : jobRole, 'email': email.isEmpty ? '-' : email, 'phoneNumber': phoneNumber.isEmpty ? '-' : phoneNumber, }; } }