diff --git a/lib/api/pending_transactions_api_client.dart b/lib/api/pending_transactions_api_client.dart index b8ddd60..44b2363 100644 --- a/lib/api/pending_transactions_api_client.dart +++ b/lib/api/pending_transactions_api_client.dart @@ -1,7 +1,10 @@ +import 'dart:convert'; + import 'package:mohem_flutter_app/api/api_client.dart'; import 'package:mohem_flutter_app/app_state/app_state.dart'; import 'package:mohem_flutter_app/classes/consts.dart'; import 'package:mohem_flutter_app/models/generic_response_model.dart'; +import 'package:mohem_flutter_app/models/get_announcement_details.dart'; import 'package:mohem_flutter_app/models/pending_transactions/get_pending_transactions_details.dart'; import 'package:mohem_flutter_app/models/pending_transactions/get_req_functions.dart'; @@ -45,4 +48,16 @@ class PendingTransactionsApiClient { return responseData.mohemmITGResponseItem ?? ""; }, url, postParams); } + + Future getAnnouncementDetails(int itgAwarenessID, int itgPageNo, int itgRowID) async { + String url = "${ApiConsts.cocRest}GetAnnouncementDiscountsConfigData"; + Map postParams = {"EmployeeNumber": AppState().memberInformationList?.eMPLOYEENUMBER.toString(), "ItgAwarenessID": itgAwarenessID, "ItgPageNo": itgPageNo, "ItgPageSize": 5, "ItgRowID": itgRowID}; + postParams.addAll(AppState().postParamsJson); + return await ApiClient().postJsonForObject((json) { + GenericResponseModel? responseData = GenericResponseModel.fromJson(json); + var jsonDecodedData = jsonDecode(jsonDecode(responseData.mohemmITGResponseItem!)['result']['data']); + return GetAnnouncementDetails.fromJson(jsonDecodedData[0]); + }, url, postParams); + } + } diff --git a/lib/ui/screens/announcements/announcement_details.dart b/lib/ui/screens/announcements/announcement_details.dart index 3b11cdf..c9645ec 100644 --- a/lib/ui/screens/announcements/announcement_details.dart +++ b/lib/ui/screens/announcements/announcement_details.dart @@ -106,11 +106,7 @@ class _AnnouncementDetailsState extends State { Future getAnnouncementDetails(int itgAwarenessID, int itgRowID) async { try { Utils.showLoading(context); - jsonResponse = await PendingTransactionsApiClient().getAnnouncements(itgAwarenessID, currentPageNo, itgRowID); - // todo '@haroon' move below post processing code to above method and get exact model which you need, - - var jsonDecodedData = jsonDecode(jsonDecode(jsonResponse)['result']['data']); - getAnnouncementDetailsObj = GetAnnouncementDetails.fromJson(jsonDecodedData[0]); + getAnnouncementDetailsObj = await PendingTransactionsApiClient().getAnnouncementDetails(itgAwarenessID, currentPageNo, itgRowID); Utils.hideLoading(context); setState(() {}); } catch (ex) {