import 'package:domain/generated/json/base/json_field.dart';
import 'package:domain/generated/json/job_applied_list_s_g_entity.g.dart';
import 'dart:convert';
export 'package:domain/generated/json/job_applied_list_s_g_entity.g.dart';

@JsonSerializable()
class JobAppliedListSGEntity {
	int total = 0;
	List<JobAppliedListSGRows> rows = [];

	JobAppliedListSGEntity();

	factory JobAppliedListSGEntity.fromJson(Map<String, dynamic> json) => $JobAppliedListSGEntityFromJson(json);

	Map<String, dynamic> toJson() => $JobAppliedListSGEntityToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class JobAppliedListSGRows {
	@JSONField(name: "applied_id")
	String? appliedId = null;
	@JSONField(name: "member_id")
	String? memberId = null;
	@JSONField(name: "job_title")
	String? jobTitle = null;
	@JSONField(name: "outlet_name")
	String? outletName = null;
	@JSONField(name: "labourer_name")
	String? labourerName = null;
	@JSONField(name: "labourer_nric")
	String? labourerNric = null;
	String? gender = null;
	@JSONField(name: "job_date")
	String? jobDate = null;
	@JSONField(name: "start_time")
	String? startTime = null;
	@JSONField(name: "end_time")
	String? endTime = null;
	@JSONField(name: "adjust_hours")
	String? adjustHours = null;
	@JSONField(name: "total_hours")
	String? totalHours = null;
	int status = 0;
	@JSONField(name: "status_show")
	String? statusShow = null;
	@JSONField(name: "hourly_rate")
	String? hourlyRate = null;
	@JSONField(name: "remark_status")
	int? remarkStatus = 0;

	bool isSelected = false;   //自定义属性，是否选中

	@JSONField(name: "security_in")
	JobAppliedListSGRowsCheck? securityIn;
	@JSONField(name: "security_out")
	JobAppliedListSGRowsCheck? securityOut;
	@JSONField(name: "work_in")
	JobAppliedListSGRowsCheck? workIn;
	@JSONField(name: "work_out")
	JobAppliedListSGRowsCheck? workOut;
	@JSONField(name: "s_in")
	int sIn = 0;
	@JSONField(name: "s_out")
	int sOut = 0;
	@JSONField(name: "w_in")
	int wIn = 0;
	@JSONField(name: "w_out")
	int wOut = 0;
	@JSONField(name: "revise_hours")
	int reviseHours = 0;
	@JSONField(name: "show_star")
	int showStar = 0;
	@JSONField(name: "status_list")
	List<JobAppliedListSGRowsStatusList> statusList = [];  //切换状态的选项
	@JSONField(name: "action_list")
	List<String>? actionList = [];



	JobAppliedListSGRows();

	factory JobAppliedListSGRows.fromJson(Map<String, dynamic> json) => $JobAppliedListSGRowsFromJson(json);

	Map<String, dynamic> toJson() => $JobAppliedListSGRowsToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class JobAppliedListSGRowsCheck {
	String? time = null;
	String? temp = null;
	String? image;
	int? changed = 0;
	String? color;

	JobAppliedListSGRowsCheck();

	factory JobAppliedListSGRowsCheck.fromJson(Map<String, dynamic> json) => $JobAppliedListSGRowsCheckFromJson(json);

	Map<String, dynamic> toJson() => $JobAppliedListSGRowsCheckToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}



@JsonSerializable()
class JobAppliedListSGRowsStatusList {
	String? value = null;
	String? txt = null;
	String? checked = null;

	JobAppliedListSGRowsStatusList();

	factory JobAppliedListSGRowsStatusList.fromJson(Map<String, dynamic> json) => $JobAppliedListSGRowsStatusListFromJson(json);

	Map<String, dynamic> toJson() => $JobAppliedListSGRowsStatusListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}