Vaibhav Surve 91184b48bb Refactor employee model imports and restructure employee-related files
- Updated import paths for employee model files to reflect new directory structure.
- Deleted obsolete models: JobRecentApplicationModel, LeadReportModel, Product, ProductOrderModal, ProjectSummaryModel, RecentOrderModel, TaskListModel, TimeLineModel, User, VisitorByChannelsModel.
- Introduced new AttendanceLogModel, AttendanceLogViewModel, AttendanceModel, TaskModel, TaskListModel, EmployeeInfo, and EmployeeModel with comprehensive fields and JSON serialization methods.
- Enhanced data handling in attendance and task management features.
2025-08-26 11:53:53 +05:30

75 lines
2.2 KiB
Dart

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