diff --git a/lib/controllers/api_routes/urls.dart b/lib/controllers/api_routes/urls.dart index f398bc51..7b81739f 100644 --- a/lib/controllers/api_routes/urls.dart +++ b/lib/controllers/api_routes/urls.dart @@ -7,8 +7,8 @@ class URLs { // static const host1 = "https://atomsmdev.hmg.com"; // local DEV url static const host1 = "https://atomsmuat.hmg.com"; // local UAT url - // static final String _baseUrl = "$_host/mobile"; // host local UAT - static final String _baseUrl = "$_host/v2/mobile"; // new V2 apis + static final String _baseUrl = "$_host/mobile"; // host local UAT + // static final String _baseUrl = "$_host/v2/mobile"; // new V2 apis // static final String _baseUrl = "$_host/v3/mobile"; // v3 for production CM,PM,TM // static final String _baseUrl = "$_host/v4/mobile"; // v4 for Demo module // static final String _baseUrl = "$_host/v5/mobile"; // v5 for data segregation diff --git a/lib/controllers/notification/firebase_notification_manger.dart b/lib/controllers/notification/firebase_notification_manger.dart index 20a49c7a..a39438cd 100644 --- a/lib/controllers/notification/firebase_notification_manger.dart +++ b/lib/controllers/notification/firebase_notification_manger.dart @@ -103,6 +103,7 @@ class FirebaseNotificationManger { Widget? serviceClass; String? transactionType = messageData["transactionType"]?.toString(); + bool IsOldNotification = messageData["IsOldNotification"]?.toString() == null; if (transactionType == null) { return; @@ -142,71 +143,106 @@ class FirebaseNotificationManger { return; } - switch (transactionType) { - case "1": - serviceClass = CMDetailPage(requestId: int.parse(messageData["requestNumber"].toString()), moduleId: 1); - break; - case "2": - serviceClass = GasRefillDetailsPage( - priority: messageData["priority"], - date: messageData["createdOn"], - moduleId: 2, - model: GasRefillModel(id: int.parse(messageData["requestNumber"].toString())), - ); - break; - case "3": - serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString())), moduleId: 3); - break; - case "4": - serviceClass = PpmDetailsPage(requestId: int.parse(messageData["requestNumber"].toString())); - break; - case "5": - serviceClass = RecurrentWorkOrderView(taskId: int.parse(messageData["requestNumber"].toString())); - break; - case "6": - serviceClass = TaskRequestDetailsView( - taskId: int.parse(messageData["requestNumber"].toString()), - requestDetails: RequestsDetails(nameOfType: messageData["sourceName"], status: messageData["statusName"], priority: messageData["priorityName"], date: messageData["createdDate"]), - moduleId: 6); - break; - case "7": - serviceClass = TaskRequestDetailsView( - taskId: int.parse(messageData["requestNumber"].toString()), - requestDetails: RequestsDetails(nameOfType: messageData["sourceName"], status: messageData["statusName"], priority: messageData["priorityName"], date: messageData["createdDate"]), - moduleId: 7); - break; - case "8": - serviceClass = AssetInventoryPage(sessionId: int.parse(messageData["requestNumber"].toString()), moduleId: int.parse(transactionType)); - break; - case "9": - serviceClass = TrafRequestDetailPage(trafId: int.parse(messageData["requestNumber"].toString())); - break; - case "10": - serviceClass = EquipmentInternalAuditDetailPage(auditId: int.parse(messageData["requestNumber"].toString())); - break; - case "11": - serviceClass = SystemInternalAuditDetailPage(auditId: int.parse(messageData["requestNumber"].toString())); - break; - case "12": - serviceClass = LoanEquipmentDetailPage(loanId: int.parse(messageData["requestNumber"].toString())); - break; - case "13": - serviceClass = AssetDeliveryPage(requestId: int.parse(messageData["requestNumber"].toString())); - break; - case "14": - serviceClass = MedicalGasInspectionDetailPage(inspectionId: int.parse(messageData["requestNumber"].toString()), prority: messageData["priorityName"]); - break; - case "15": - serviceClass = DemoDetailViewPage(demoId: int.parse(messageData["requestNumber"].toString()), moduleId: 15); - break; - case "16": - serviceClass = IncidentDetailPage(incidentId: int.parse(messageData["requestNumber"].toString())); - break; - case "17": - serviceClass = SurveyPage(surveyId: int.parse(messageData["requestNumber"].toString())); + if (IsOldNotification) { + switch (transactionType) { + case "1": + serviceClass = PpmDetailsPage(requestId: int.parse(messageData["requestNumber"].toString())); + break; + case "3": + serviceClass = CMDetailPage(requestId: int.parse(messageData["requestNumber"].toString()), moduleId: 1); + break; + case "8": + serviceClass = CMDetailPage(requestId: int.parse(messageData["requestNumber"].toString()), moduleId: 1); + break; + case "11": + serviceClass = CMDetailPage(requestId: int.parse(messageData["requestNumber"].toString()), moduleId: 1); + break; + case "7": + serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString())), moduleId: 3); + break; + case "9": + serviceClass = GasRefillDetailsPage( + priority: messageData["priority"], + date: messageData["createdOn"], + moduleId: 2, + model: GasRefillModel(id: int.parse(messageData["requestNumber"].toString())), + ); + break; + case "12": + serviceClass = RecurrentWorkOrderView(taskId: int.parse(messageData["requestNumber"].toString())); + case "17": + serviceClass = SurveyPage(surveyId: int.parse(messageData["requestNumber"].toString())); - default: - serviceClass = const Scaffold(appBar: DefaultAppBar(), body: Center(child: NoDataFound())); + default: + serviceClass = const Scaffold(appBar: DefaultAppBar(), body: Center(child: NoDataFound())); + } + } else { + switch (transactionType) { + case "1": + serviceClass = CMDetailPage(requestId: int.parse(messageData["requestNumber"].toString()), moduleId: 1); + break; + case "2": + serviceClass = GasRefillDetailsPage( + priority: messageData["priority"], + date: messageData["createdOn"], + moduleId: 2, + model: GasRefillModel(id: int.parse(messageData["requestNumber"].toString())), + ); + break; + case "3": + serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString())), moduleId: 3); + break; + case "4": + serviceClass = PpmDetailsPage(requestId: int.parse(messageData["requestNumber"].toString())); + break; + case "5": + serviceClass = RecurrentWorkOrderView(taskId: int.parse(messageData["requestNumber"].toString())); + break; + case "6": + serviceClass = TaskRequestDetailsView( + taskId: int.parse(messageData["requestNumber"].toString()), + requestDetails: RequestsDetails(nameOfType: messageData["sourceName"], status: messageData["statusName"], priority: messageData["priorityName"], date: messageData["createdDate"]), + moduleId: 6); + break; + case "7": + serviceClass = TaskRequestDetailsView( + taskId: int.parse(messageData["requestNumber"].toString()), + requestDetails: RequestsDetails(nameOfType: messageData["sourceName"], status: messageData["statusName"], priority: messageData["priorityName"], date: messageData["createdDate"]), + moduleId: 7); + break; + case "8": + serviceClass = AssetInventoryPage(sessionId: int.parse(messageData["requestNumber"].toString()), moduleId: int.parse(transactionType)); + break; + case "9": + serviceClass = TrafRequestDetailPage(trafId: int.parse(messageData["requestNumber"].toString())); + break; + case "10": + serviceClass = EquipmentInternalAuditDetailPage(auditId: int.parse(messageData["requestNumber"].toString())); + break; + case "11": + serviceClass = SystemInternalAuditDetailPage(auditId: int.parse(messageData["requestNumber"].toString())); + break; + case "12": + serviceClass = LoanEquipmentDetailPage(loanId: int.parse(messageData["requestNumber"].toString())); + break; + case "13": + serviceClass = AssetDeliveryPage(requestId: int.parse(messageData["requestNumber"].toString())); + break; + case "14": + serviceClass = MedicalGasInspectionDetailPage(inspectionId: int.parse(messageData["requestNumber"].toString()), prority: messageData["priorityName"]); + break; + case "15": + serviceClass = DemoDetailViewPage(demoId: int.parse(messageData["requestNumber"].toString()), moduleId: 15); + break; + case "16": + serviceClass = IncidentDetailPage(incidentId: int.parse(messageData["requestNumber"].toString())); + break; + case "17": + serviceClass = SurveyPage(surveyId: int.parse(messageData["requestNumber"].toString())); + + default: + serviceClass = const Scaffold(appBar: DefaultAppBar(), body: Center(child: NoDataFound())); + } } Navigator.of(context).push(MaterialPageRoute(builder: (_) => serviceClass!)); diff --git a/lib/models/system_notification_model.dart b/lib/models/system_notification_model.dart index 492c3575..21560a0b 100644 --- a/lib/models/system_notification_model.dart +++ b/lib/models/system_notification_model.dart @@ -24,6 +24,7 @@ class SystemNotificationModel { String? sentDate; int? noOfFailure; int? totalUnreadCount; // Added from API payload + bool? isOldNotification; SystemNotificationModel( {this.userId, @@ -48,6 +49,7 @@ class SystemNotificationModel { this.sent, this.sentDate, this.noOfFailure, + this.isOldNotification, this.totalUnreadCount}); SystemNotificationModel.fromJson(Map? json) { @@ -79,6 +81,7 @@ class SystemNotificationModel { sentDate = json['sentDate']; noOfFailure = json['noOfFailure']; totalUnreadCount = json['totalUnreadCount']; + isOldNotification = json['IsOldNotification']; } } @@ -106,6 +109,7 @@ class SystemNotificationModel { data['sentDate'] = sentDate; data['noOfFailure'] = noOfFailure; data['totalUnreadCount'] = totalUnreadCount; + data['IsOldNotification'] = isOldNotification; return data; }