import 'dart:developer'; import 'package:hmg_qline/utilities/date_utils.dart'; import 'package:hmg_qline/utilities/enums.dart'; import 'package:hmg_qline/utilities/extensions.dart'; class TicketDetailsModel { QTypeEnum? qTypeEnum; ScreenTypeEnum? screenTypeEnum; String? connectionID; TicketData? ticketModel; TicketDetailsModel({this.qTypeEnum, this.screenTypeEnum, this.connectionID, this.ticketModel}); TicketDetailsModel.fromJson(Map json) { qTypeEnum = json['qType'] != null ? (json['qType'] as int).toQTypeEnum() : null; screenTypeEnum = json['screenType'] != null ? (json['screenType'] as int).toScreenTypeEnum() : null; connectionID = json['connectionID']; ticketModel = json['data'] != null ? TicketData.fromJson(json['data']) : null; } } class TicketData { int? id; int? patientID; int? laBQGroupID; String? queueNo; int? counterBatchNo; int? calledBy; String? calledOn; String? servedOn; String? patientName; String? mobileNo; String? patientEmail; int? preferredLang; LanguageEnum voiceLanguageEnum = LanguageEnum.english; String ticketNoText = "Ticket Number"; String postVoiceText = "Please Visit Counter"; int? patientGender; String? roomNo; bool? isActive; int? createdBy; int? editedBy; DateTime? editedOn; DateTime? createdOn; TicketData({ this.id, this.patientID, this.laBQGroupID, this.queueNo, this.counterBatchNo, this.calledBy, this.calledOn, this.servedOn, this.patientName, this.mobileNo, this.patientEmail, this.preferredLang, this.voiceLanguageEnum = LanguageEnum.english, this.ticketNoText = "Ticket Number", this.postVoiceText = "Please Visit Counter", this.patientGender, this.roomNo, this.isActive, this.createdBy, this.createdOn, this.editedBy, this.editedOn, }); TicketData.fromJson(Map json) { id = json['id']; patientID = json['patientID']; laBQGroupID = json['laB_QGroupID']; queueNo = json['queueNo']; counterBatchNo = json['counterBatchNo']; calledBy = json['calledBy']; calledOn = json['calledOn']; servedOn = json['servedOn']; patientName = json['patientName']; mobileNo = json['mobileNo']; patientEmail = json['patientEmail']; preferredLang = (json['preferredLang'] != null && json['preferredLang'].trim() != "") ? int.parse(json['preferredLang']) : 1; voiceLanguageEnum = (json['preferredLang'] != null && json['preferredLang'].trim() != "") ? (int.parse(json['preferredLang'])).toLanguageEnum() : LanguageEnum.english; ticketNoText = json['ticketNoText'] ?? "Ticket Number"; postVoiceText = json['pleaseVisitCounterText'] ?? "Please Visit Counter"; patientGender = json['patientGender'] ?? 1; roomNo = json['roomNo'].toString(); isActive = json['isActive']; createdBy = json['createdBy']; editedBy = json['editedBy']; editedOn = json['editedOn'] != null ? (json['editedOn'] as String).toDateTime() : DateTime.now(); createdOn = json['createdOn'] != null ? (json['createdOn'] as String).toDateTime() : DateTime.now(); } }