/
attendance_registry_model.dart
133 lines (117 loc) · 3.57 KB
/
attendance_registry_model.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// ignore_for_file: invalid_annotation_target
import 'package:freezed_annotation/freezed_annotation.dart';
part 'attendance_registry_model.freezed.dart';
part 'attendance_registry_model.g.dart';
@freezed
class AttendanceRegistersModel with _$AttendanceRegistersModel {
const factory AttendanceRegistersModel({
@JsonKey(name: 'attendanceRegister')
List<AttendanceRegister>? attendanceRegister,
}) = _AttendanceRegistersModel;
factory AttendanceRegistersModel.fromJson(
Map<String, dynamic> json,
) =>
_$AttendanceRegistersModelFromJson(json);
}
@freezed
class AttendanceRegister with _$AttendanceRegister {
const factory AttendanceRegister({
String? id,
required String tenantId,
String? registerNumber,
String? serviceCode,
String? referenceId,
String? name,
int? startDate,
int? endDate,
String? status,
@JsonKey(name: 'additionalDetails')
AttendanceRegisterAdditionalDetails?
attendanceRegisterAdditionalDetails,
@JsonKey(name: 'staff')
List<StaffEntries>? staffEntries,
@JsonKey(name: 'auditDetails')
RegisterAuditDetails? registerAuditDetails,
@JsonKey(name: 'attendees')
List<AttendeesEntries>? attendeesEntries,
}) = _AttendanceRegister;
factory AttendanceRegister.fromJson(
Map<String, dynamic> json,
) =>
_$AttendanceRegisterFromJson(json);
}
@freezed
class AttendanceRegisterAdditionalDetails
with _$AttendanceRegisterAdditionalDetails {
const factory AttendanceRegisterAdditionalDetails(
{String? contractId,
String? orgName,
String? officerInCharge,
String? executingAuthority,
String? projectId,
String? projectName,
String? projectType,
String? projectDesc,
String? locality,
String? ward,
int? amount}) = _AttendanceRegisterAdditionalDetails;
factory AttendanceRegisterAdditionalDetails.fromJson(
Map<String, dynamic> json,
) =>
_$AttendanceRegisterAdditionalDetailsFromJson(json);
}
@freezed
class RegisterAuditDetails with _$RegisterAuditDetails {
const factory RegisterAuditDetails(
{String? createdBy,
String? lastModifiedBy,
int? createdTime,
int? lastModifiedTime}) = _RegisterAuditDetails;
factory RegisterAuditDetails.fromJson(
Map<String, dynamic> json,
) =>
_$RegisterAuditDetailsFromJson(json);
}
@freezed
class StaffEntries with _$StaffEntries {
const factory StaffEntries(
{String? id,
String? userId,
String? registerId,
int? enrollmentDate}) = _StaffEntries;
factory StaffEntries.fromJson(
Map<String, dynamic> json,
) =>
_$StaffEntriesFromJson(json);
}
@freezed
class AttendeesEntries with _$AttendeesEntries {
const factory AttendeesEntries(
{String? id,
required String tenantId,
String? registerId,
String? individualId,
int? enrollmentDate,
int? denrollmentDate,
@JsonKey(name: 'additionalDetails')
AttendeesAdditionalDetails? additionalDetails}) = _AttendeesEntries;
factory AttendeesEntries.fromJson(
Map<String, dynamic> json,
) =>
_$AttendeesEntriesFromJson(json);
}
@freezed
class AttendeesAdditionalDetails with _$AttendeesAdditionalDetails {
const factory AttendeesAdditionalDetails({
String? individualName,
String? gender,
String? individualGaurdianName,
String? individualID,
String? identifierId,
String? bankNumber,
}) = _AttendeesAdditionalDetails;
factory AttendeesAdditionalDetails.fromJson(
Map<String, dynamic> json,
) =>
_$AttendeesAdditionalDetailsFromJson(json);
}