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

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

	SGAttendanceReviewTableEntity();

	factory SGAttendanceReviewTableEntity.fromJson(Map<String, dynamic> json) => $SGAttendanceReviewTableEntityFromJson(json);

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

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

@JsonSerializable()
class SGAttendanceReviewTableRows {
	@JSONField(name: "record_id")
	String? recordId;
	@JSONField(name: "order_id")
	String? orderId;
	@JSONField(name: "applied_id")
	String? appliedId;
	@JSONField(name: "staff_name")
	String? staffName;
	String? source;
	@JSONField(name: "status_show")
	String? statusShow;
	@JSONField(name: "created_at")
	String? createdAt;
	@JSONField(name: "job_date")
	String? jobDate;
	@JSONField(name: "outlet_name")
	String? outletName;
	@JSONField(name: "job_title")
	String? jobTitle;
	@JSONField(name: "job_time")
	String? jobTime;
	@JSONField(name: "adjust_hours")
	String? adjustHours;
	@JSONField(name: "total_hours")
	String? totalHours;

	@JSONField(name: "security_in")
	SGAttendanceReviewTableRowsCheck? securityIn;
	@JSONField(name: "security_out")
	SGAttendanceReviewTableRowsCheck? securityOut;
	@JSONField(name: "work_in")
	SGAttendanceReviewTableRowsCheck? workIn;
	@JSONField(name: "work_out")
	SGAttendanceReviewTableRowsCheck? workOut;

	@JSONField(name: "s_in")
	int? sIn;
	@JSONField(name: "s_out")
	int? sOut;
	@JSONField(name: "w_in")
	int? wIn;
	@JSONField(name: "w_out")
	int? wOut;

	bool isSelected = false;

	SGAttendanceReviewTableRows();

	factory SGAttendanceReviewTableRows.fromJson(Map<String, dynamic> json) => $SGAttendanceReviewTableRowsFromJson(json);

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

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

@JsonSerializable()
class SGAttendanceReviewTableRowsCheck {
	String? time;
	String? temp;
	String? image;
	int? changed;
	String? key;
	String? color;

	SGAttendanceReviewTableRowsCheck();

	factory SGAttendanceReviewTableRowsCheck.fromJson(Map<String, dynamic> json) => $SGAttendanceReviewTableRowsCheckFromJson(json);

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

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