This repository has been archived on 2024-10-18. You can view files and clone it, but cannot push or open issues or pull requests.
ftc_patient_app/lib/models/rota_shift_model.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}';
}
}