loadCurrentEmployeeFromPrefs function
Future<ICEmployee?>
loadCurrentEmployeeFromPrefs(
)
Implementation
Future<ICEmployee?> loadCurrentEmployeeFromPrefs() async {
final prefs = await SharedPreferences.getInstance();
final jsonStr = prefs.getString('current_employee');
if (jsonStr == null) return null;
final Map<String, dynamic> jsonMap = jsonDecode(jsonStr);
bool toBool(dynamic v) {
if (v is bool) return v;
if (v is int) return v == 1;
if (v is String) return v.toLowerCase() == "true" || v == "1";
return false;
}
final accessJson = jsonMap['projectAccessRight'] ?? {};
final employee = ICEmployee()
..name = jsonMap['name'] ?? ''
..icEmployeeId = jsonMap['icEmployeeId'] ?? 0
..employeeId = jsonMap['employeeId'] ?? ''
..email = jsonMap['email'] ?? ''
..address = jsonMap['address'] ?? ''
..image = jsonMap['image'] ?? ''
..phoneNumber = jsonMap['phoneNumber'] ?? ''
..nameKh = jsonMap['nameKh'] ?? ''
..projectNameKh = jsonMap['projectNameKh'] ?? ''
..positionNamekh = jsonMap['position_nameKh'] ?? ''
..bu = jsonMap['bu'] ?? ''
..positionName = jsonMap['position_name'] ?? ''
..numberOfDaySinceStartDate = jsonMap['numberOfDaySinceStartDate'] ?? 0
..daysSinceJobDate = jsonMap['daysSinceJobDate'] ?? ''
..projectName = jsonMap['projectName'] ?? ''
..pob = jsonMap['pob'] ?? ''
..stopUse = jsonMap['stopUse'] ?? ''
..nationality = jsonMap['nationality'] ?? ''
..bankAccount = jsonMap['bankAcount'] ?? ''
..dob = jsonMap['dob'] ?? ''
..projectAccessRight = (ProjectAccessRight()
..bank = toBool(accessJson['bank'])
..saleorder = toBool(accessJson['saleorder'])
..service = toBool(accessJson['service'])
..settings = toBool(accessJson['settings'])
..accountPayable = toBool(accessJson['accountPayable'])
..accountReceivable = toBool(accessJson['accountReceivable'])
..asset = toBool(accessJson['asset'])
..department = toBool(accessJson['department'])
..generalLedger = toBool(accessJson['generalLedger'])
..hrd = toBool(accessJson['hrd'])
..logistic = toBool(accessJson['logistic'])
..purchaseOrder = toBool(accessJson['purchaseOrder'])
..stock = toBool(accessJson['stock'])
..warehousing = toBool(accessJson['warehousing'])
..tasks = toBool(accessJson['tasks'])
..pos = toBool(accessJson['pos'])
);
return employee;
}