import 'package:test_sa/models/lookup.dart'; import 'package:test_sa/models/timer_model.dart'; class RecurrentWo { RecurrentWoData? recurrentWoData; String? message; String? title; String? innerMessage; int? responseCode; bool? isSuccess; RecurrentWo( {this.recurrentWoData, this.message, this.title, this.innerMessage, this.responseCode, this.isSuccess}); RecurrentWo.fromJson(Map json) { recurrentWoData = json['data'] != null ? RecurrentWoData.fromJson(json['data']) : null; message = json['message']; title = json['title']; innerMessage = json['innerMessage']; responseCode = json['responseCode']; isSuccess = json['isSuccess']; } Map toJson() { final Map data = {}; if (recurrentWoData != null) { data['data'] = recurrentWoData!.toJson(); } data['message'] = message; data['title'] = title; data['innerMessage'] = innerMessage; data['responseCode'] = responseCode; data['isSuccess'] = isSuccess; return data; } } class RecurrentWoData { int? id; Engineer? engineer; String? scheduleDate; Status? status; Site? site; Lookup? building; Lookup? floor; Lookup? department; Lookup? room; List? planRecurrentMedicalTaskRooms; List? planRecurrentTaskTimers; TimerModel? recurrentWoTimerModel = TimerModel(); RecurrentWoData( {this.id, this.engineer, this.scheduleDate, this.status, this.site, this.building, this.recurrentWoTimerModel, this.floor, this.department, this.room, this.planRecurrentMedicalTaskRooms, this.planRecurrentTaskTimers}); RecurrentWoData.fromJson(Map json) { id = json['id']; engineer = json['engineer'] != null ? new Engineer.fromJson(json['engineer']) : null; scheduleDate = json['scheduleDate']; status = json['status'] != null ? Status.fromJson(json['status']) : null; site = json['site'] != null ? Site.fromJson(json['site']) : null; building= json["building"] == null ? null : Lookup.fromJson(json["building"]); floor= json["floor"] == null ? null : Lookup.fromJson(json["floor"]); department= json["department"] == null ? null : Lookup.fromJson(json["department"]); room= json["room"] == null ? null : Lookup.fromJson(json["room"]); if (json['planRecurrentMedicalTaskRooms'] != null) { planRecurrentMedicalTaskRooms = []; json['planRecurrentMedicalTaskRooms'].forEach((v) { planRecurrentMedicalTaskRooms! .add(PlanRecurrentMedicalTaskRooms.fromJson(v)); }); } if (json['planRecurrentTaskTimers'] != null) { //TODO match with exact data and replace... // planRecurrentTaskTimers = []; // json['planRecurrentTaskTimers'].forEach((v) { // planRecurrentTaskTimers!.add(new Null.fromJson(v)); // }); } } Map toJson() { final Map data = {}; data['id'] = id; if (engineer != null) { data['engineer'] = engineer!.toJson(); } data['scheduleDate'] = scheduleDate; if (status != null) { data['status'] = status!.toJson(); } if (site != null) { data['site'] = site!.toJson(); } if (planRecurrentMedicalTaskRooms != null) { data['planRecurrentMedicalTaskRooms'] = planRecurrentMedicalTaskRooms!.map((v) => v.toJson()).toList(); } if (planRecurrentTaskTimers != null) { //TODO match with exact data and replace... // data['planRecurrentTaskTimers'] = // this.planRecurrentTaskTimers!.map((v) => v.toJson()).toList(); } return data; } } class Engineer { String? userId; String? userName; String? email; String? employeeId; int? languageId; Engineer( {this.userId, this.userName, this.email, this.employeeId, this.languageId}); Engineer.fromJson(Map json) { userId = json['userId']; userName = json['userName']; email = json['email']; employeeId = json['employeeId']; languageId = json['languageId']; } Map toJson() { final Map data = new Map(); data['userId'] = this.userId; data['userName'] = this.userName; data['email'] = this.email; data['employeeId'] = this.employeeId; data['languageId'] = this.languageId; return data; } } class Status { int? id; String? name; int? value; Status({this.id, this.name, this.value}); Status.fromJson(Map json) { id = json['id']; name = json['name']; value = json['value']; } Map toJson() { final Map data = new Map(); data['id'] = this.id; data['name'] = this.name; data['value'] = this.value; return data; } } class Site { int? id; String? siteName; Site({this.id, this.siteName}); Site.fromJson(Map json) { id = json['id']; siteName = json['siteName']; } Map toJson() { final Map data = new Map(); data['id'] = this.id; data['siteName'] = this.siteName; return data; } } class PlanRecurrentMedicalTaskRooms { int? id; Room? room; List? planRecurrentMedicalTaskRoomTabs; PlanRecurrentMedicalTaskRooms( {this.id, this.room, this.planRecurrentMedicalTaskRoomTabs}); PlanRecurrentMedicalTaskRooms.fromJson(Map json) { id = json['id']; room = json['room'] != null ? new Room.fromJson(json['room']) : null; if (json['planRecurrentMedicalTaskRoomTabs'] != null) { planRecurrentMedicalTaskRoomTabs = []; json['planRecurrentMedicalTaskRoomTabs'].forEach((v) { planRecurrentMedicalTaskRoomTabs! .add(new PlanRecurrentMedicalTaskRoomTabs.fromJson(v)); }); } } Map toJson() { final Map data = new Map(); data['id'] = this.id; if (this.room != null) { data['room'] = this.room!.toJson(); } if (this.planRecurrentMedicalTaskRoomTabs != null) { data['planRecurrentMedicalTaskRoomTabs'] = this .planRecurrentMedicalTaskRoomTabs! .map((v) => v.toJson()) .toList(); } return data; } } class Room { int? id; String? roomId; Room({this.id, this.roomId}); Room.fromJson(Map json) { id = json['id']; roomId = json['roomId']; } Map toJson() { final Map data = new Map(); data['id'] = this.id; data['roomId'] = this.roomId; return data; } } class PlanRecurrentMedicalTaskRoomTabs { int? id; String? tabName; int? tabMedicalRoomId; List? planRecurrentMedicalTaskRoomTabAttributes; PlanRecurrentMedicalTaskRoomTabs( {this.id, this.tabName, this.tabMedicalRoomId, this.planRecurrentMedicalTaskRoomTabAttributes}); PlanRecurrentMedicalTaskRoomTabs.fromJson(Map json) { id = json['id']; tabName = json['tabName']; tabMedicalRoomId = json['tabMedicalRoomId']; if (json['planRecurrentMedicalTaskRoomTabAttributes'] != null) { planRecurrentMedicalTaskRoomTabAttributes = []; json['planRecurrentMedicalTaskRoomTabAttributes'].forEach((v) { planRecurrentMedicalTaskRoomTabAttributes! .add(new PlanRecurrentMedicalTaskRoomTabAttributes.fromJson(v)); }); } } Map toJson() { final Map data = new Map(); data['id'] = this.id; data['tabName'] = this.tabName; data['tabMedicalRoomId'] = this.tabMedicalRoomId; if (this.planRecurrentMedicalTaskRoomTabAttributes != null) { data['planRecurrentMedicalTaskRoomTabAttributes'] = this .planRecurrentMedicalTaskRoomTabAttributes! .map((v) => v.toJson()) .toList(); } return data; } } class PlanRecurrentMedicalTaskRoomTabAttributes { int? id; Attribute? attribute; Null? attributeValue; PlanRecurrentMedicalTaskRoomTabAttributes( {this.id, this.attribute, this.attributeValue}); PlanRecurrentMedicalTaskRoomTabAttributes.fromJson( Map json) { id = json['id']; attribute = json['attribute'] != null ? new Attribute.fromJson(json['attribute']) : null; attributeValue = json['attributeValue']; } Map toJson() { final Map data = new Map(); data['id'] = this.id; if (this.attribute != null) { data['attribute'] = this.attribute!.toJson(); } data['attributeValue'] = this.attributeValue; return data; } } class Attribute { String? name; String? type; String? key; Attribute({this.name, this.type, this.key}); Attribute.fromJson(Map json) { name = json['name']; type = json['type']; key = json['key']; } Map toJson() { final Map data = new Map(); data['name'] = this.name; data['type'] = this.type; data['key'] = this.key; return data; } }