json_convert_content.dart 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603
  1. // ignore_for_file: non_constant_identifier_names
  2. // ignore_for_file: camel_case_types
  3. // ignore_for_file: prefer_single_quotes
  4. // This file is automatically generated. DO NOT EDIT, all your changes would be lost.
  5. import 'package:flutter/material.dart' show debugPrint;
  6. import 'package:domain/entity/response/add_edit_revise_view_s_g_entity.dart';
  7. import 'package:domain/entity/response/attendance_entity.dart';
  8. import 'package:domain/entity/response/check_success_entity.dart';
  9. import 'package:domain/entity/response/device_list_entity.dart';
  10. import 'package:domain/entity/response/hotel_info_entity.dart';
  11. import 'package:domain/entity/response/id_name_entity.dart';
  12. import 'package:domain/entity/response/job_applied_edit_index_s_g_entity.dart';
  13. import 'package:domain/entity/response/job_applied_index_s_g_entity.dart';
  14. import 'package:domain/entity/response/job_applied_list_s_g_entity.dart';
  15. import 'package:domain/entity/response/job_applied_remark_view_s_g_entity.dart';
  16. import 'package:domain/entity/response/job_applied_staff_s_g_entity.dart';
  17. import 'package:domain/entity/response/job_list_add_staff_entity.dart';
  18. import 'package:domain/entity/response/job_list_applied_edit_entity.dart';
  19. import 'package:domain/entity/response/job_list_applied_info_entity.dart';
  20. import 'package:domain/entity/response/job_list_applied_staff_list_entity.dart';
  21. import 'package:domain/entity/response/job_list_applied_staff_search_entity.dart';
  22. import 'package:domain/entity/response/job_list_applied_work_flow_entity.dart';
  23. import 'package:domain/entity/response/job_list_detail_entity.dart';
  24. import 'package:domain/entity/response/job_list_edit_index_s_g_entity.dart';
  25. import 'package:domain/entity/response/job_list_entity.dart';
  26. import 'package:domain/entity/response/job_list_index_entity.dart';
  27. import 'package:domain/entity/response/job_list_index_s_g_entity.dart';
  28. import 'package:domain/entity/response/job_list_remark_view_entity.dart';
  29. import 'package:domain/entity/response/job_list_s_g_entity.dart';
  30. import 'package:domain/entity/response/job_template_edit_index_entity.dart';
  31. import 'package:domain/entity/response/job_template_s_g_entity.dart';
  32. import 'package:domain/entity/response/job_title_edit_index_entity.dart';
  33. import 'package:domain/entity/response/job_title_s_g_entity.dart';
  34. import 'package:domain/entity/response/labour_request_edit_index_entity.dart';
  35. import 'package:domain/entity/response/labour_request_index_entity.dart';
  36. import 'package:domain/entity/response/labour_request_list_entity.dart';
  37. import 'package:domain/entity/response/labour_request_s_g_add_index_entity.dart';
  38. import 'package:domain/entity/response/labour_request_s_g_entity.dart';
  39. import 'package:domain/entity/response/labour_request_work_flow_entity.dart';
  40. import 'package:domain/entity/response/revise_index_s_g_entity.dart';
  41. import 'package:domain/entity/response/revise_list_s_g_entity.dart';
  42. import 'package:domain/entity/response/revise_log_s_g_entity.dart';
  43. import 'package:domain/entity/response/staff_detail_entity.dart';
  44. import 'package:domain/entity/response/staff_detail_s_g_entity.dart';
  45. import 'package:domain/entity/response/staff_job_history_s_g_entity.dart';
  46. import 'package:domain/entity/response/staff_labour_history_entity.dart';
  47. import 'package:domain/entity/response/staff_remark_history_entity.dart';
  48. import 'package:domain/entity/response/staff_review_history_s_g_entity.dart';
  49. import 'package:domain/entity/server_time.dart';
  50. JsonConvert jsonConvert = JsonConvert();
  51. typedef JsonConvertFunction<T> = T Function(Map<String, dynamic> json);
  52. typedef EnumConvertFunction<T> = T Function(String value);
  53. typedef ConvertExceptionHandler = void Function(Object error, StackTrace stackTrace);
  54. extension MapSafeExt<K, V> on Map<K, V> {
  55. T? getOrNull<T>(K? key) {
  56. if (!containsKey(key) || key == null) {
  57. return null;
  58. } else {
  59. return this[key] as T?;
  60. }
  61. }
  62. }
  63. class JsonConvert {
  64. static ConvertExceptionHandler? onError;
  65. JsonConvertClassCollection convertFuncMap = JsonConvertClassCollection();
  66. /// When you are in the development, to generate a new model class, hot-reload doesn't find new generation model class, you can build on MaterialApp method called jsonConvert. ReassembleConvertFuncMap (); This method only works in a development environment
  67. /// https://flutter.cn/docs/development/tools/hot-reload
  68. /// class MyApp extends StatelessWidget {
  69. /// const MyApp({Key? key})
  70. /// : super(key: key);
  71. ///
  72. /// @override
  73. /// Widget build(BuildContext context) {
  74. /// jsonConvert.reassembleConvertFuncMap();
  75. /// return MaterialApp();
  76. /// }
  77. /// }
  78. void reassembleConvertFuncMap() {
  79. bool isReleaseMode = const bool.fromEnvironment('dart.vm.product');
  80. if (!isReleaseMode) {
  81. convertFuncMap = JsonConvertClassCollection();
  82. }
  83. }
  84. T? convert<T>(dynamic value, {EnumConvertFunction? enumConvert}) {
  85. if (value == null) {
  86. return null;
  87. }
  88. if (value is T) {
  89. return value;
  90. }
  91. try {
  92. return _asT<T>(value, enumConvert: enumConvert);
  93. } catch (e, stackTrace) {
  94. debugPrint('asT<$T> $e $stackTrace');
  95. if (onError != null) {
  96. onError!(e, stackTrace);
  97. }
  98. return null;
  99. }
  100. }
  101. List<T?>? convertList<T>(List<dynamic>? value, {EnumConvertFunction? enumConvert}) {
  102. if (value == null) {
  103. return null;
  104. }
  105. try {
  106. return value.map((dynamic e) => _asT<T>(e, enumConvert: enumConvert)).toList();
  107. } catch (e, stackTrace) {
  108. debugPrint('asT<$T> $e $stackTrace');
  109. if (onError != null) {
  110. onError!(e, stackTrace);
  111. }
  112. return <T>[];
  113. }
  114. }
  115. List<T>? convertListNotNull<T>(dynamic value, {EnumConvertFunction? enumConvert}) {
  116. if (value == null) {
  117. return null;
  118. }
  119. try {
  120. return (value as List<dynamic>).map((dynamic e) => _asT<T>(e, enumConvert: enumConvert)!).toList();
  121. } catch (e, stackTrace) {
  122. debugPrint('asT<$T> $e $stackTrace');
  123. if (onError != null) {
  124. onError!(e, stackTrace);
  125. }
  126. return <T>[];
  127. }
  128. }
  129. T? _asT<T extends Object?>(dynamic value,
  130. {EnumConvertFunction? enumConvert}) {
  131. final String type = T.toString();
  132. final String valueS = value.toString();
  133. if (enumConvert != null) {
  134. return enumConvert(valueS) as T;
  135. } else if (type == "String") {
  136. return valueS as T;
  137. } else if (type == "int") {
  138. final int? intValue = int.tryParse(valueS);
  139. if (intValue == null) {
  140. return double.tryParse(valueS)?.toInt() as T?;
  141. } else {
  142. return intValue as T;
  143. }
  144. } else if (type == "double") {
  145. return double.parse(valueS) as T;
  146. } else if (type == "DateTime") {
  147. return DateTime.parse(valueS) as T;
  148. } else if (type == "bool") {
  149. if (valueS == '0' || valueS == '1') {
  150. return (valueS == '1') as T;
  151. }
  152. return (valueS == 'true') as T;
  153. } else if (type == "Map" || type.startsWith("Map<")) {
  154. return value as T;
  155. } else {
  156. if (convertFuncMap.containsKey(type)) {
  157. if (value == null) {
  158. return null;
  159. }
  160. return convertFuncMap[type]!(value as Map<String, dynamic>) as T;
  161. } else {
  162. throw UnimplementedError('$type unimplemented,you can try running the app again');
  163. }
  164. }
  165. }
  166. //list is returned by type
  167. static M? _getListChildType<M>(List<Map<String, dynamic>> data) {
  168. if (<AddEditReviseViewSGEntity>[] is M) {
  169. return data.map<AddEditReviseViewSGEntity>((Map<String, dynamic> e) => AddEditReviseViewSGEntity.fromJson(e)).toList() as M;
  170. }
  171. if (<AttendanceEntity>[] is M) {
  172. return data.map<AttendanceEntity>((Map<String, dynamic> e) => AttendanceEntity.fromJson(e)).toList() as M;
  173. }
  174. if (<AttendanceList>[] is M) {
  175. return data.map<AttendanceList>((Map<String, dynamic> e) => AttendanceList.fromJson(e)).toList() as M;
  176. }
  177. if (<CheckSuccessEntity>[] is M) {
  178. return data.map<CheckSuccessEntity>((Map<String, dynamic> e) => CheckSuccessEntity.fromJson(e)).toList() as M;
  179. }
  180. if (<DeviceListEntity>[] is M) {
  181. return data.map<DeviceListEntity>((Map<String, dynamic> e) => DeviceListEntity.fromJson(e)).toList() as M;
  182. }
  183. if (<DeviceListRows>[] is M) {
  184. return data.map<DeviceListRows>((Map<String, dynamic> e) => DeviceListRows.fromJson(e)).toList() as M;
  185. }
  186. if (<HotelInfoEntity>[] is M) {
  187. return data.map<HotelInfoEntity>((Map<String, dynamic> e) => HotelInfoEntity.fromJson(e)).toList() as M;
  188. }
  189. if (<HotelInfoMenus>[] is M) {
  190. return data.map<HotelInfoMenus>((Map<String, dynamic> e) => HotelInfoMenus.fromJson(e)).toList() as M;
  191. }
  192. if (<HotelInfoMenusChildren>[] is M) {
  193. return data.map<HotelInfoMenusChildren>((Map<String, dynamic> e) => HotelInfoMenusChildren.fromJson(e)).toList() as M;
  194. }
  195. if (<IdNameEntity>[] is M) {
  196. return data.map<IdNameEntity>((Map<String, dynamic> e) => IdNameEntity.fromJson(e)).toList() as M;
  197. }
  198. if (<JobAppliedEditIndexSGEntity>[] is M) {
  199. return data.map<JobAppliedEditIndexSGEntity>((Map<String, dynamic> e) => JobAppliedEditIndexSGEntity.fromJson(e)).toList() as M;
  200. }
  201. if (<JobAppliedEditIndexSGStatusList>[] is M) {
  202. return data.map<JobAppliedEditIndexSGStatusList>((Map<String, dynamic> e) => JobAppliedEditIndexSGStatusList.fromJson(e)).toList() as M;
  203. }
  204. if (<JobAppliedIndexSGEntity>[] is M) {
  205. return data.map<JobAppliedIndexSGEntity>((Map<String, dynamic> e) => JobAppliedIndexSGEntity.fromJson(e)).toList() as M;
  206. }
  207. if (<JobAppliedIndexSGStatusList>[] is M) {
  208. return data.map<JobAppliedIndexSGStatusList>((Map<String, dynamic> e) => JobAppliedIndexSGStatusList.fromJson(e)).toList() as M;
  209. }
  210. if (<JobAppliedListSGEntity>[] is M) {
  211. return data.map<JobAppliedListSGEntity>((Map<String, dynamic> e) => JobAppliedListSGEntity.fromJson(e)).toList() as M;
  212. }
  213. if (<JobAppliedListSGRows>[] is M) {
  214. return data.map<JobAppliedListSGRows>((Map<String, dynamic> e) => JobAppliedListSGRows.fromJson(e)).toList() as M;
  215. }
  216. if (<JobAppliedListSGRowsCheck>[] is M) {
  217. return data.map<JobAppliedListSGRowsCheck>((Map<String, dynamic> e) => JobAppliedListSGRowsCheck.fromJson(e)).toList() as M;
  218. }
  219. if (<JobAppliedListSGRowsStatusList>[] is M) {
  220. return data.map<JobAppliedListSGRowsStatusList>((Map<String, dynamic> e) => JobAppliedListSGRowsStatusList.fromJson(e)).toList() as M;
  221. }
  222. if (<JobAppliedRemarkViewSGEntity>[] is M) {
  223. return data.map<JobAppliedRemarkViewSGEntity>((Map<String, dynamic> e) => JobAppliedRemarkViewSGEntity.fromJson(e)).toList() as M;
  224. }
  225. if (<JobAppliedStaffSGEntity>[] is M) {
  226. return data.map<JobAppliedStaffSGEntity>((Map<String, dynamic> e) => JobAppliedStaffSGEntity.fromJson(e)).toList() as M;
  227. }
  228. if (<JobAppliedStaffSGRows>[] is M) {
  229. return data.map<JobAppliedStaffSGRows>((Map<String, dynamic> e) => JobAppliedStaffSGRows.fromJson(e)).toList() as M;
  230. }
  231. if (<JobListAddStaffEntity>[] is M) {
  232. return data.map<JobListAddStaffEntity>((Map<String, dynamic> e) => JobListAddStaffEntity.fromJson(e)).toList() as M;
  233. }
  234. if (<JobListAddStaffResultList>[] is M) {
  235. return data.map<JobListAddStaffResultList>((Map<String, dynamic> e) => JobListAddStaffResultList.fromJson(e)).toList() as M;
  236. }
  237. if (<JobListAppliedEditEntity>[] is M) {
  238. return data.map<JobListAppliedEditEntity>((Map<String, dynamic> e) => JobListAppliedEditEntity.fromJson(e)).toList() as M;
  239. }
  240. if (<JobListAppliedEditReasonList>[] is M) {
  241. return data.map<JobListAppliedEditReasonList>((Map<String, dynamic> e) => JobListAppliedEditReasonList.fromJson(e)).toList() as M;
  242. }
  243. if (<JobListAppliedInfoEntity>[] is M) {
  244. return data.map<JobListAppliedInfoEntity>((Map<String, dynamic> e) => JobListAppliedInfoEntity.fromJson(e)).toList() as M;
  245. }
  246. if (<JobListAppliedStaffListEntity>[] is M) {
  247. return data.map<JobListAppliedStaffListEntity>((Map<String, dynamic> e) => JobListAppliedStaffListEntity.fromJson(e)).toList() as M;
  248. }
  249. if (<JobListAppliedStaffListRows>[] is M) {
  250. return data.map<JobListAppliedStaffListRows>((Map<String, dynamic> e) => JobListAppliedStaffListRows.fromJson(e)).toList() as M;
  251. }
  252. if (<JobListAppliedStaffListRowsSecurityIn>[] is M) {
  253. return data.map<JobListAppliedStaffListRowsSecurityIn>((Map<String, dynamic> e) => JobListAppliedStaffListRowsSecurityIn.fromJson(e)).toList() as M;
  254. }
  255. if (<JobListAppliedStaffListRowsSecurityOut>[] is M) {
  256. return data.map<JobListAppliedStaffListRowsSecurityOut>((Map<String, dynamic> e) => JobListAppliedStaffListRowsSecurityOut.fromJson(e)).toList() as M;
  257. }
  258. if (<JobListAppliedStaffListRowsWorkIn>[] is M) {
  259. return data.map<JobListAppliedStaffListRowsWorkIn>((Map<String, dynamic> e) => JobListAppliedStaffListRowsWorkIn.fromJson(e)).toList() as M;
  260. }
  261. if (<JobListAppliedStaffListRowsWorkOut>[] is M) {
  262. return data.map<JobListAppliedStaffListRowsWorkOut>((Map<String, dynamic> e) => JobListAppliedStaffListRowsWorkOut.fromJson(e)).toList() as M;
  263. }
  264. if (<JobListAppliedStaffSearchEntity>[] is M) {
  265. return data.map<JobListAppliedStaffSearchEntity>((Map<String, dynamic> e) => JobListAppliedStaffSearchEntity.fromJson(e)).toList() as M;
  266. }
  267. if (<JobListAppliedStaffSearchRows>[] is M) {
  268. return data.map<JobListAppliedStaffSearchRows>((Map<String, dynamic> e) => JobListAppliedStaffSearchRows.fromJson(e)).toList() as M;
  269. }
  270. if (<JobListAppliedWorkFlowEntity>[] is M) {
  271. return data.map<JobListAppliedWorkFlowEntity>((Map<String, dynamic> e) => JobListAppliedWorkFlowEntity.fromJson(e)).toList() as M;
  272. }
  273. if (<JobListAppliedWorkFlowRecords>[] is M) {
  274. return data.map<JobListAppliedWorkFlowRecords>((Map<String, dynamic> e) => JobListAppliedWorkFlowRecords.fromJson(e)).toList() as M;
  275. }
  276. if (<JobListDetailEntity>[] is M) {
  277. return data.map<JobListDetailEntity>((Map<String, dynamic> e) => JobListDetailEntity.fromJson(e)).toList() as M;
  278. }
  279. if (<JobListDetailDepartmentList>[] is M) {
  280. return data.map<JobListDetailDepartmentList>((Map<String, dynamic> e) => JobListDetailDepartmentList.fromJson(e)).toList() as M;
  281. }
  282. if (<JobListEditIndexSGEntity>[] is M) {
  283. return data.map<JobListEditIndexSGEntity>((Map<String, dynamic> e) => JobListEditIndexSGEntity.fromJson(e)).toList() as M;
  284. }
  285. if (<JobListEditIndexOption>[] is M) {
  286. return data.map<JobListEditIndexOption>((Map<String, dynamic> e) => JobListEditIndexOption.fromJson(e)).toList() as M;
  287. }
  288. if (<JobListEntity>[] is M) {
  289. return data.map<JobListEntity>((Map<String, dynamic> e) => JobListEntity.fromJson(e)).toList() as M;
  290. }
  291. if (<JobListRows>[] is M) {
  292. return data.map<JobListRows>((Map<String, dynamic> e) => JobListRows.fromJson(e)).toList() as M;
  293. }
  294. if (<JobListIndexEntity>[] is M) {
  295. return data.map<JobListIndexEntity>((Map<String, dynamic> e) => JobListIndexEntity.fromJson(e)).toList() as M;
  296. }
  297. if (<JobListIndexDepartmentList>[] is M) {
  298. return data.map<JobListIndexDepartmentList>((Map<String, dynamic> e) => JobListIndexDepartmentList.fromJson(e)).toList() as M;
  299. }
  300. if (<JobListIndexStatusList>[] is M) {
  301. return data.map<JobListIndexStatusList>((Map<String, dynamic> e) => JobListIndexStatusList.fromJson(e)).toList() as M;
  302. }
  303. if (<JobListIndexSGEntity>[] is M) {
  304. return data.map<JobListIndexSGEntity>((Map<String, dynamic> e) => JobListIndexSGEntity.fromJson(e)).toList() as M;
  305. }
  306. if (<JobListIndexSGOption>[] is M) {
  307. return data.map<JobListIndexSGOption>((Map<String, dynamic> e) => JobListIndexSGOption.fromJson(e)).toList() as M;
  308. }
  309. if (<JobListRemarkViewEntity>[] is M) {
  310. return data.map<JobListRemarkViewEntity>((Map<String, dynamic> e) => JobListRemarkViewEntity.fromJson(e)).toList() as M;
  311. }
  312. if (<JobListSGEntity>[] is M) {
  313. return data.map<JobListSGEntity>((Map<String, dynamic> e) => JobListSGEntity.fromJson(e)).toList() as M;
  314. }
  315. if (<JobListSGRows>[] is M) {
  316. return data.map<JobListSGRows>((Map<String, dynamic> e) => JobListSGRows.fromJson(e)).toList() as M;
  317. }
  318. if (<JobTemplateEditIndexEntity>[] is M) {
  319. return data.map<JobTemplateEditIndexEntity>((Map<String, dynamic> e) => JobTemplateEditIndexEntity.fromJson(e)).toList() as M;
  320. }
  321. if (<JobTemplateEditIndexAgeList>[] is M) {
  322. return data.map<JobTemplateEditIndexAgeList>((Map<String, dynamic> e) => JobTemplateEditIndexAgeList.fromJson(e)).toList() as M;
  323. }
  324. if (<JobTemplateEditIndexSexList>[] is M) {
  325. return data.map<JobTemplateEditIndexSexList>((Map<String, dynamic> e) => JobTemplateEditIndexSexList.fromJson(e)).toList() as M;
  326. }
  327. if (<JobTemplateEditIndexLanguageList>[] is M) {
  328. return data.map<JobTemplateEditIndexLanguageList>((Map<String, dynamic> e) => JobTemplateEditIndexLanguageList.fromJson(e)).toList() as M;
  329. }
  330. if (<JobTemplateSGEntity>[] is M) {
  331. return data.map<JobTemplateSGEntity>((Map<String, dynamic> e) => JobTemplateSGEntity.fromJson(e)).toList() as M;
  332. }
  333. if (<JobTemplateSGRows>[] is M) {
  334. return data.map<JobTemplateSGRows>((Map<String, dynamic> e) => JobTemplateSGRows.fromJson(e)).toList() as M;
  335. }
  336. if (<JobTitleEditIndexEntity>[] is M) {
  337. return data.map<JobTitleEditIndexEntity>((Map<String, dynamic> e) => JobTitleEditIndexEntity.fromJson(e)).toList() as M;
  338. }
  339. if (<JobTitleEditIndexTemplate>[] is M) {
  340. return data.map<JobTitleEditIndexTemplate>((Map<String, dynamic> e) => JobTitleEditIndexTemplate.fromJson(e)).toList() as M;
  341. }
  342. if (<JobTitleSGEntity>[] is M) {
  343. return data.map<JobTitleSGEntity>((Map<String, dynamic> e) => JobTitleSGEntity.fromJson(e)).toList() as M;
  344. }
  345. if (<JobTitleSGRows>[] is M) {
  346. return data.map<JobTitleSGRows>((Map<String, dynamic> e) => JobTitleSGRows.fromJson(e)).toList() as M;
  347. }
  348. if (<LabourRequestEditIndexEntity>[] is M) {
  349. return data.map<LabourRequestEditIndexEntity>((Map<String, dynamic> e) => LabourRequestEditIndexEntity.fromJson(e)).toList() as M;
  350. }
  351. if (<LabourRequestEditIndexTemplateList>[] is M) {
  352. return data.map<LabourRequestEditIndexTemplateList>((Map<String, dynamic> e) => LabourRequestEditIndexTemplateList.fromJson(e)).toList() as M;
  353. }
  354. if (<LabourRequestEditIndexDepartmentList>[] is M) {
  355. return data.map<LabourRequestEditIndexDepartmentList>((Map<String, dynamic> e) => LabourRequestEditIndexDepartmentList.fromJson(e)).toList() as M;
  356. }
  357. if (<LabourRequestIndexEntity>[] is M) {
  358. return data.map<LabourRequestIndexEntity>((Map<String, dynamic> e) => LabourRequestIndexEntity.fromJson(e)).toList() as M;
  359. }
  360. if (<LabourRequestIndexDepartmentList>[] is M) {
  361. return data.map<LabourRequestIndexDepartmentList>((Map<String, dynamic> e) => LabourRequestIndexDepartmentList.fromJson(e)).toList() as M;
  362. }
  363. if (<LabourRequestIndexStatusList>[] is M) {
  364. return data.map<LabourRequestIndexStatusList>((Map<String, dynamic> e) => LabourRequestIndexStatusList.fromJson(e)).toList() as M;
  365. }
  366. if (<LabourRequestListEntity>[] is M) {
  367. return data.map<LabourRequestListEntity>((Map<String, dynamic> e) => LabourRequestListEntity.fromJson(e)).toList() as M;
  368. }
  369. if (<LabourRequestListRows>[] is M) {
  370. return data.map<LabourRequestListRows>((Map<String, dynamic> e) => LabourRequestListRows.fromJson(e)).toList() as M;
  371. }
  372. if (<LabourRequestSGAddIndexEntity>[] is M) {
  373. return data.map<LabourRequestSGAddIndexEntity>((Map<String, dynamic> e) => LabourRequestSGAddIndexEntity.fromJson(e)).toList() as M;
  374. }
  375. if (<LabourRequestSGAddIndexOption>[] is M) {
  376. return data.map<LabourRequestSGAddIndexOption>((Map<String, dynamic> e) => LabourRequestSGAddIndexOption.fromJson(e)).toList() as M;
  377. }
  378. if (<LabourRequestSGEntity>[] is M) {
  379. return data.map<LabourRequestSGEntity>((Map<String, dynamic> e) => LabourRequestSGEntity.fromJson(e)).toList() as M;
  380. }
  381. if (<LabourRequestSGCountList>[] is M) {
  382. return data.map<LabourRequestSGCountList>((Map<String, dynamic> e) => LabourRequestSGCountList.fromJson(e)).toList() as M;
  383. }
  384. if (<LabourRequestWorkFlowEntity>[] is M) {
  385. return data.map<LabourRequestWorkFlowEntity>((Map<String, dynamic> e) => LabourRequestWorkFlowEntity.fromJson(e)).toList() as M;
  386. }
  387. if (<LabourRequestWorkFlowRecords>[] is M) {
  388. return data.map<LabourRequestWorkFlowRecords>((Map<String, dynamic> e) => LabourRequestWorkFlowRecords.fromJson(e)).toList() as M;
  389. }
  390. if (<ReviseIndexSGEntity>[] is M) {
  391. return data.map<ReviseIndexSGEntity>((Map<String, dynamic> e) => ReviseIndexSGEntity.fromJson(e)).toList() as M;
  392. }
  393. if (<ReviseIndexSGStatusList>[] is M) {
  394. return data.map<ReviseIndexSGStatusList>((Map<String, dynamic> e) => ReviseIndexSGStatusList.fromJson(e)).toList() as M;
  395. }
  396. if (<ReviseListSGEntity>[] is M) {
  397. return data.map<ReviseListSGEntity>((Map<String, dynamic> e) => ReviseListSGEntity.fromJson(e)).toList() as M;
  398. }
  399. if (<ReviseListSGRows>[] is M) {
  400. return data.map<ReviseListSGRows>((Map<String, dynamic> e) => ReviseListSGRows.fromJson(e)).toList() as M;
  401. }
  402. if (<ReviseLogSGEntity>[] is M) {
  403. return data.map<ReviseLogSGEntity>((Map<String, dynamic> e) => ReviseLogSGEntity.fromJson(e)).toList() as M;
  404. }
  405. if (<ReviseLogSGRecords>[] is M) {
  406. return data.map<ReviseLogSGRecords>((Map<String, dynamic> e) => ReviseLogSGRecords.fromJson(e)).toList() as M;
  407. }
  408. if (<ReviseLogSGRecordsContent>[] is M) {
  409. return data.map<ReviseLogSGRecordsContent>((Map<String, dynamic> e) => ReviseLogSGRecordsContent.fromJson(e)).toList() as M;
  410. }
  411. if (<ReviseLogSGRecordsOption>[] is M) {
  412. return data.map<ReviseLogSGRecordsOption>((Map<String, dynamic> e) => ReviseLogSGRecordsOption.fromJson(e)).toList() as M;
  413. }
  414. if (<StaffDetailEntity>[] is M) {
  415. return data.map<StaffDetailEntity>((Map<String, dynamic> e) => StaffDetailEntity.fromJson(e)).toList() as M;
  416. }
  417. if (<StaffDetailSGEntity>[] is M) {
  418. return data.map<StaffDetailSGEntity>((Map<String, dynamic> e) => StaffDetailSGEntity.fromJson(e)).toList() as M;
  419. }
  420. if (<StaffDetailSGReviews>[] is M) {
  421. return data.map<StaffDetailSGReviews>((Map<String, dynamic> e) => StaffDetailSGReviews.fromJson(e)).toList() as M;
  422. }
  423. if (<StaffDetailSGReviewsReviews>[] is M) {
  424. return data.map<StaffDetailSGReviewsReviews>((Map<String, dynamic> e) => StaffDetailSGReviewsReviews.fromJson(e)).toList() as M;
  425. }
  426. if (<StaffJobHistorySGEntity>[] is M) {
  427. return data.map<StaffJobHistorySGEntity>((Map<String, dynamic> e) => StaffJobHistorySGEntity.fromJson(e)).toList() as M;
  428. }
  429. if (<StaffJobHistorySGRows>[] is M) {
  430. return data.map<StaffJobHistorySGRows>((Map<String, dynamic> e) => StaffJobHistorySGRows.fromJson(e)).toList() as M;
  431. }
  432. if (<StaffLabourHistoryEntity>[] is M) {
  433. return data.map<StaffLabourHistoryEntity>((Map<String, dynamic> e) => StaffLabourHistoryEntity.fromJson(e)).toList() as M;
  434. }
  435. if (<StaffLabourHistoryRows>[] is M) {
  436. return data.map<StaffLabourHistoryRows>((Map<String, dynamic> e) => StaffLabourHistoryRows.fromJson(e)).toList() as M;
  437. }
  438. if (<StaffLabourHistoryRowsSecurityIn>[] is M) {
  439. return data.map<StaffLabourHistoryRowsSecurityIn>((Map<String, dynamic> e) => StaffLabourHistoryRowsSecurityIn.fromJson(e)).toList() as M;
  440. }
  441. if (<StaffLabourHistoryRowsSecurityOut>[] is M) {
  442. return data.map<StaffLabourHistoryRowsSecurityOut>((Map<String, dynamic> e) => StaffLabourHistoryRowsSecurityOut.fromJson(e)).toList() as M;
  443. }
  444. if (<StaffLabourHistoryRowsWorkIn>[] is M) {
  445. return data.map<StaffLabourHistoryRowsWorkIn>((Map<String, dynamic> e) => StaffLabourHistoryRowsWorkIn.fromJson(e)).toList() as M;
  446. }
  447. if (<StaffLabourHistoryRowsWorkOut>[] is M) {
  448. return data.map<StaffLabourHistoryRowsWorkOut>((Map<String, dynamic> e) => StaffLabourHistoryRowsWorkOut.fromJson(e)).toList() as M;
  449. }
  450. if (<StaffRemarkHistoryEntity>[] is M) {
  451. return data.map<StaffRemarkHistoryEntity>((Map<String, dynamic> e) => StaffRemarkHistoryEntity.fromJson(e)).toList() as M;
  452. }
  453. if (<StaffRemarkHistoryRows>[] is M) {
  454. return data.map<StaffRemarkHistoryRows>((Map<String, dynamic> e) => StaffRemarkHistoryRows.fromJson(e)).toList() as M;
  455. }
  456. if (<StaffReviewHistorySGEntity>[] is M) {
  457. return data.map<StaffReviewHistorySGEntity>((Map<String, dynamic> e) => StaffReviewHistorySGEntity.fromJson(e)).toList() as M;
  458. }
  459. if (<StaffReviewHistorySGReviews>[] is M) {
  460. return data.map<StaffReviewHistorySGReviews>((Map<String, dynamic> e) => StaffReviewHistorySGReviews.fromJson(e)).toList() as M;
  461. }
  462. if (<ServerTime>[] is M) {
  463. return data.map<ServerTime>((Map<String, dynamic> e) => ServerTime.fromJson(e)).toList() as M;
  464. }
  465. debugPrint("$M not found");
  466. return null;
  467. }
  468. static M? fromJsonAsT<M>(dynamic json) {
  469. if (json is M) {
  470. return json;
  471. }
  472. if (json is List) {
  473. return _getListChildType<M>(json.map((dynamic e) => e as Map<String, dynamic>).toList());
  474. } else {
  475. return jsonConvert.convert<M>(json);
  476. }
  477. }
  478. }
  479. class JsonConvertClassCollection {
  480. Map<String, JsonConvertFunction> convertFuncMap = {
  481. (AddEditReviseViewSGEntity).toString(): AddEditReviseViewSGEntity.fromJson,
  482. (AttendanceEntity).toString(): AttendanceEntity.fromJson,
  483. (AttendanceList).toString(): AttendanceList.fromJson,
  484. (CheckSuccessEntity).toString(): CheckSuccessEntity.fromJson,
  485. (DeviceListEntity).toString(): DeviceListEntity.fromJson,
  486. (DeviceListRows).toString(): DeviceListRows.fromJson,
  487. (HotelInfoEntity).toString(): HotelInfoEntity.fromJson,
  488. (HotelInfoMenus).toString(): HotelInfoMenus.fromJson,
  489. (HotelInfoMenusChildren).toString(): HotelInfoMenusChildren.fromJson,
  490. (IdNameEntity).toString(): IdNameEntity.fromJson,
  491. (JobAppliedEditIndexSGEntity).toString(): JobAppliedEditIndexSGEntity.fromJson,
  492. (JobAppliedEditIndexSGStatusList).toString(): JobAppliedEditIndexSGStatusList.fromJson,
  493. (JobAppliedIndexSGEntity).toString(): JobAppliedIndexSGEntity.fromJson,
  494. (JobAppliedIndexSGStatusList).toString(): JobAppliedIndexSGStatusList.fromJson,
  495. (JobAppliedListSGEntity).toString(): JobAppliedListSGEntity.fromJson,
  496. (JobAppliedListSGRows).toString(): JobAppliedListSGRows.fromJson,
  497. (JobAppliedListSGRowsCheck).toString(): JobAppliedListSGRowsCheck.fromJson,
  498. (JobAppliedListSGRowsStatusList).toString(): JobAppliedListSGRowsStatusList.fromJson,
  499. (JobAppliedRemarkViewSGEntity).toString(): JobAppliedRemarkViewSGEntity.fromJson,
  500. (JobAppliedStaffSGEntity).toString(): JobAppliedStaffSGEntity.fromJson,
  501. (JobAppliedStaffSGRows).toString(): JobAppliedStaffSGRows.fromJson,
  502. (JobListAddStaffEntity).toString(): JobListAddStaffEntity.fromJson,
  503. (JobListAddStaffResultList).toString(): JobListAddStaffResultList.fromJson,
  504. (JobListAppliedEditEntity).toString(): JobListAppliedEditEntity.fromJson,
  505. (JobListAppliedEditReasonList).toString(): JobListAppliedEditReasonList.fromJson,
  506. (JobListAppliedInfoEntity).toString(): JobListAppliedInfoEntity.fromJson,
  507. (JobListAppliedStaffListEntity).toString(): JobListAppliedStaffListEntity.fromJson,
  508. (JobListAppliedStaffListRows).toString(): JobListAppliedStaffListRows.fromJson,
  509. (JobListAppliedStaffListRowsSecurityIn).toString(): JobListAppliedStaffListRowsSecurityIn.fromJson,
  510. (JobListAppliedStaffListRowsSecurityOut).toString(): JobListAppliedStaffListRowsSecurityOut.fromJson,
  511. (JobListAppliedStaffListRowsWorkIn).toString(): JobListAppliedStaffListRowsWorkIn.fromJson,
  512. (JobListAppliedStaffListRowsWorkOut).toString(): JobListAppliedStaffListRowsWorkOut.fromJson,
  513. (JobListAppliedStaffSearchEntity).toString(): JobListAppliedStaffSearchEntity.fromJson,
  514. (JobListAppliedStaffSearchRows).toString(): JobListAppliedStaffSearchRows.fromJson,
  515. (JobListAppliedWorkFlowEntity).toString(): JobListAppliedWorkFlowEntity.fromJson,
  516. (JobListAppliedWorkFlowRecords).toString(): JobListAppliedWorkFlowRecords.fromJson,
  517. (JobListDetailEntity).toString(): JobListDetailEntity.fromJson,
  518. (JobListDetailDepartmentList).toString(): JobListDetailDepartmentList.fromJson,
  519. (JobListEditIndexSGEntity).toString(): JobListEditIndexSGEntity.fromJson,
  520. (JobListEditIndexOption).toString(): JobListEditIndexOption.fromJson,
  521. (JobListEntity).toString(): JobListEntity.fromJson,
  522. (JobListRows).toString(): JobListRows.fromJson,
  523. (JobListIndexEntity).toString(): JobListIndexEntity.fromJson,
  524. (JobListIndexDepartmentList).toString(): JobListIndexDepartmentList.fromJson,
  525. (JobListIndexStatusList).toString(): JobListIndexStatusList.fromJson,
  526. (JobListIndexSGEntity).toString(): JobListIndexSGEntity.fromJson,
  527. (JobListIndexSGOption).toString(): JobListIndexSGOption.fromJson,
  528. (JobListRemarkViewEntity).toString(): JobListRemarkViewEntity.fromJson,
  529. (JobListSGEntity).toString(): JobListSGEntity.fromJson,
  530. (JobListSGRows).toString(): JobListSGRows.fromJson,
  531. (JobTemplateEditIndexEntity).toString(): JobTemplateEditIndexEntity.fromJson,
  532. (JobTemplateEditIndexAgeList).toString(): JobTemplateEditIndexAgeList.fromJson,
  533. (JobTemplateEditIndexSexList).toString(): JobTemplateEditIndexSexList.fromJson,
  534. (JobTemplateEditIndexLanguageList).toString(): JobTemplateEditIndexLanguageList.fromJson,
  535. (JobTemplateSGEntity).toString(): JobTemplateSGEntity.fromJson,
  536. (JobTemplateSGRows).toString(): JobTemplateSGRows.fromJson,
  537. (JobTitleEditIndexEntity).toString(): JobTitleEditIndexEntity.fromJson,
  538. (JobTitleEditIndexTemplate).toString(): JobTitleEditIndexTemplate.fromJson,
  539. (JobTitleSGEntity).toString(): JobTitleSGEntity.fromJson,
  540. (JobTitleSGRows).toString(): JobTitleSGRows.fromJson,
  541. (LabourRequestEditIndexEntity).toString(): LabourRequestEditIndexEntity.fromJson,
  542. (LabourRequestEditIndexTemplateList).toString(): LabourRequestEditIndexTemplateList.fromJson,
  543. (LabourRequestEditIndexDepartmentList).toString(): LabourRequestEditIndexDepartmentList.fromJson,
  544. (LabourRequestIndexEntity).toString(): LabourRequestIndexEntity.fromJson,
  545. (LabourRequestIndexDepartmentList).toString(): LabourRequestIndexDepartmentList.fromJson,
  546. (LabourRequestIndexStatusList).toString(): LabourRequestIndexStatusList.fromJson,
  547. (LabourRequestListEntity).toString(): LabourRequestListEntity.fromJson,
  548. (LabourRequestListRows).toString(): LabourRequestListRows.fromJson,
  549. (LabourRequestSGAddIndexEntity).toString(): LabourRequestSGAddIndexEntity.fromJson,
  550. (LabourRequestSGAddIndexOption).toString(): LabourRequestSGAddIndexOption.fromJson,
  551. (LabourRequestSGEntity).toString(): LabourRequestSGEntity.fromJson,
  552. (LabourRequestSGCountList).toString(): LabourRequestSGCountList.fromJson,
  553. (LabourRequestWorkFlowEntity).toString(): LabourRequestWorkFlowEntity.fromJson,
  554. (LabourRequestWorkFlowRecords).toString(): LabourRequestWorkFlowRecords.fromJson,
  555. (ReviseIndexSGEntity).toString(): ReviseIndexSGEntity.fromJson,
  556. (ReviseIndexSGStatusList).toString(): ReviseIndexSGStatusList.fromJson,
  557. (ReviseListSGEntity).toString(): ReviseListSGEntity.fromJson,
  558. (ReviseListSGRows).toString(): ReviseListSGRows.fromJson,
  559. (ReviseLogSGEntity).toString(): ReviseLogSGEntity.fromJson,
  560. (ReviseLogSGRecords).toString(): ReviseLogSGRecords.fromJson,
  561. (ReviseLogSGRecordsContent).toString(): ReviseLogSGRecordsContent.fromJson,
  562. (ReviseLogSGRecordsOption).toString(): ReviseLogSGRecordsOption.fromJson,
  563. (StaffDetailEntity).toString(): StaffDetailEntity.fromJson,
  564. (StaffDetailSGEntity).toString(): StaffDetailSGEntity.fromJson,
  565. (StaffDetailSGReviews).toString(): StaffDetailSGReviews.fromJson,
  566. (StaffDetailSGReviewsReviews).toString(): StaffDetailSGReviewsReviews.fromJson,
  567. (StaffJobHistorySGEntity).toString(): StaffJobHistorySGEntity.fromJson,
  568. (StaffJobHistorySGRows).toString(): StaffJobHistorySGRows.fromJson,
  569. (StaffLabourHistoryEntity).toString(): StaffLabourHistoryEntity.fromJson,
  570. (StaffLabourHistoryRows).toString(): StaffLabourHistoryRows.fromJson,
  571. (StaffLabourHistoryRowsSecurityIn).toString(): StaffLabourHistoryRowsSecurityIn.fromJson,
  572. (StaffLabourHistoryRowsSecurityOut).toString(): StaffLabourHistoryRowsSecurityOut.fromJson,
  573. (StaffLabourHistoryRowsWorkIn).toString(): StaffLabourHistoryRowsWorkIn.fromJson,
  574. (StaffLabourHistoryRowsWorkOut).toString(): StaffLabourHistoryRowsWorkOut.fromJson,
  575. (StaffRemarkHistoryEntity).toString(): StaffRemarkHistoryEntity.fromJson,
  576. (StaffRemarkHistoryRows).toString(): StaffRemarkHistoryRows.fromJson,
  577. (StaffReviewHistorySGEntity).toString(): StaffReviewHistorySGEntity.fromJson,
  578. (StaffReviewHistorySGReviews).toString(): StaffReviewHistorySGReviews.fromJson,
  579. (ServerTime).toString(): ServerTime.fromJson,
  580. };
  581. bool containsKey(String type) {
  582. return convertFuncMap.containsKey(type);
  583. }
  584. JsonConvertFunction? operator [](String key) {
  585. return convertFuncMap[key];
  586. }
  587. }