174 lines
5.2 KiB
Dart
174 lines
5.2 KiB
Dart
class RotaShift {
|
|
String managerName = '';
|
|
String name = '';
|
|
String staffRequired = '';
|
|
String workerType = '';
|
|
String location = '';
|
|
String id = ''; //from service
|
|
String startTime = ''; //from service
|
|
String endTime = ''; //from service
|
|
String breakTime = '';
|
|
String notes = '';
|
|
|
|
RotaShift.empty();
|
|
|
|
bool get havingShift {
|
|
return id.isNotEmpty || startTime.isNotEmpty || endTime.isNotEmpty;
|
|
}
|
|
|
|
DateTime get shiftTime {
|
|
return DateTime.parse(startTime).toLocal();
|
|
}
|
|
|
|
DateTime get shiftStartTime {
|
|
return DateTime.parse(startTime).toLocal();
|
|
}
|
|
|
|
DateTime get shiftEndTime {
|
|
return endTime.isNotEmpty
|
|
? DateTime.parse(endTime).toLocal()
|
|
: DateTime.now();
|
|
}
|
|
|
|
RotaShift({
|
|
this.id = '',
|
|
required this.name,
|
|
required this.staffRequired,
|
|
required this.workerType,
|
|
required this.location,
|
|
required this.startTime,
|
|
required this.endTime,
|
|
required this.breakTime,
|
|
required this.notes,
|
|
this.managerName = "Emily Smith",
|
|
});
|
|
|
|
RotaShift.fromJson(Map<String, dynamic> json) {
|
|
id = json["_id"] ?? "";
|
|
startTime = json["shftStartTime"] ?? "";
|
|
endTime = json["shftEndTime"] ?? "";
|
|
}
|
|
|
|
@override
|
|
String toString() {
|
|
return 'RotaShift{managerName: $managerName, name: $name, staffRequired: $staffRequired, workerType: $workerType, location: $location, id: $id, startTime: $startTime, endTime: $endTime, breakTime: $breakTime, notes: $notes}';
|
|
}
|
|
}
|
|
|
|
class DayWiseRecord {
|
|
bool dayOn = false;
|
|
bool sleepOverRequired = false;
|
|
RotaShift rotaShift = RotaShift.empty();
|
|
|
|
DayWiseRecord.empty();
|
|
|
|
DayWiseRecord({
|
|
required this.dayOn,
|
|
required this.sleepOverRequired,
|
|
required this.rotaShift,
|
|
});
|
|
|
|
DayWiseRecord.fromJson(Map<String, dynamic> json) {
|
|
dayOn = json["dayOn"] ?? false;
|
|
sleepOverRequired = json["sleepOverRequired"] ?? false;
|
|
if (json["shifts"] is List && json['shifts'].length != 0) {
|
|
rotaShift = RotaShift.fromJson(json["shifts"][0] ?? "");
|
|
}
|
|
}
|
|
|
|
@override
|
|
String toString() {
|
|
return 'DayWiseRecord{dayOn: $dayOn, sleepOverRequired: $sleepOverRequired, rotaShift: $rotaShift}';
|
|
}
|
|
}
|
|
|
|
class WeekWiseRecord {
|
|
DayWiseRecord mondayRecord = DayWiseRecord.empty();
|
|
DayWiseRecord tuesdayRecord = DayWiseRecord.empty();
|
|
DayWiseRecord wednesdayRecord = DayWiseRecord.empty();
|
|
DayWiseRecord thursdayRecord = DayWiseRecord.empty();
|
|
DayWiseRecord fridayRecord = DayWiseRecord.empty();
|
|
DayWiseRecord saturdayRecord = DayWiseRecord.empty();
|
|
DayWiseRecord sundayRecord = DayWiseRecord.empty();
|
|
bool weekIncluded = false;
|
|
|
|
WeekWiseRecord.empty();
|
|
|
|
WeekWiseRecord({
|
|
required this.mondayRecord,
|
|
required this.tuesdayRecord,
|
|
required this.wednesdayRecord,
|
|
required this.thursdayRecord,
|
|
required this.fridayRecord,
|
|
required this.saturdayRecord,
|
|
required this.sundayRecord,
|
|
required this.weekIncluded,
|
|
});
|
|
|
|
WeekWiseRecord.fromJson(dynamic json) {
|
|
mondayRecord = DayWiseRecord.fromJson(json['monday'] ?? "");
|
|
tuesdayRecord = DayWiseRecord.fromJson(json['tuesday'] ?? "");
|
|
wednesdayRecord = DayWiseRecord.fromJson(json['wednesday'] ?? "");
|
|
thursdayRecord = DayWiseRecord.fromJson(json['thursday'] ?? "");
|
|
fridayRecord = DayWiseRecord.fromJson(json['friday'] ?? "");
|
|
saturdayRecord = DayWiseRecord.fromJson(json['saturday'] ?? "");
|
|
sundayRecord = DayWiseRecord.fromJson(json['sunday'] ?? "");
|
|
weekIncluded = json['weekIncluded'] ?? false;
|
|
}
|
|
|
|
@override
|
|
String toString() {
|
|
return 'WeekWiseRecord{mondayRecord: $mondayRecord, tuesdayRecord: $tuesdayRecord, wednesdayRecord: $wednesdayRecord, thursdayRecord: $thursdayRecord, fridayRecord: $fridayRecord, saturdayRecord: $saturdayRecord, sundayRecord: $sundayRecord, weekIncluded: $weekIncluded}';
|
|
}
|
|
}
|
|
|
|
//make variable for this model
|
|
class MonthWiseRecord {
|
|
WeekWiseRecord week1 = WeekWiseRecord.empty();
|
|
WeekWiseRecord week2 = WeekWiseRecord.empty();
|
|
WeekWiseRecord week3 = WeekWiseRecord.empty();
|
|
WeekWiseRecord week4 = WeekWiseRecord.empty();
|
|
String id = "";
|
|
String serviceUser = "";
|
|
String addedBy = "";
|
|
String createdAt = "";
|
|
String updatedAt = "";
|
|
bool active = false;
|
|
int v = -1;
|
|
|
|
MonthWiseRecord.empty();
|
|
|
|
MonthWiseRecord({
|
|
required this.week1,
|
|
required this.week2,
|
|
required this.week3,
|
|
required this.week4,
|
|
required this.id,
|
|
required this.serviceUser,
|
|
required this.addedBy,
|
|
required this.createdAt,
|
|
required this.updatedAt,
|
|
required this.active,
|
|
required this.v,
|
|
});
|
|
|
|
MonthWiseRecord.fromJson(Map<String, dynamic> json) {
|
|
week1 = WeekWiseRecord.fromJson(json['week1'] ?? {});
|
|
week2 = WeekWiseRecord.fromJson(json['week2'] ?? {});
|
|
week3 = WeekWiseRecord.fromJson(json['week3'] ?? {});
|
|
week4 = WeekWiseRecord.fromJson(json['week4'] ?? {});
|
|
id = json["id"] ?? "";
|
|
serviceUser = json["serviceUser"] ?? "";
|
|
addedBy = json["addedBy"] ?? "";
|
|
createdAt = json["createdAt"] ?? "";
|
|
updatedAt = json["updatedAt"] ?? "";
|
|
active = json["active"] ?? false;
|
|
v = json["v"] ?? -1;
|
|
}
|
|
|
|
@override
|
|
String toString() {
|
|
return 'MonthWiseRecord{week1: $week1, week2: $week2, week3: $week3, week4: $week4, id: $id, serviceUser: $serviceUser, addedBy: $addedBy, createdAt: $createdAt, updatedAt: $updatedAt, active: $active, v: $v}';
|
|
}
|
|
}
|