You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
3.3 KiB
Dart
64 lines
3.3 KiB
Dart
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';
|
|
|
|
// todo '@haroon' kindly format code
|
|
|
|
class PendingTransactionsApiClient {
|
|
static final PendingTransactionsApiClient _instance = PendingTransactionsApiClient._internal();
|
|
|
|
PendingTransactionsApiClient._internal();
|
|
|
|
factory PendingTransactionsApiClient() => _instance;
|
|
|
|
Future<List<GetPendingTransactionsFunctions>> getPendingReqFunctions() async {
|
|
String url = "${ApiConsts.erpRest}GET_PENDING_REQ_FUNCTIONS";
|
|
Map<String, dynamic> postParams = {};
|
|
|
|
postParams.addAll(AppState().postParamsJson);
|
|
return await ApiClient().postJsonForObject((json) {
|
|
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
|
|
return responseData.getPendingTransactionsFunctions ?? [];
|
|
}, url, postParams);
|
|
}
|
|
|
|
Future<List<GetPendingTransactionsDetails>> getPendingTransactionsDetails(String functionID, String dateFrom, String dateTo) async {
|
|
String url = "${ApiConsts.erpRest}GET_PENDING_REQ_DETAILS";
|
|
Map<String, dynamic> postParams = {"P_FUNCTION_ID": functionID, "P_PAGE_LIMIT": 20, "P_PAGE_NUM": 1, "P_CREATION_DATE_FROM": dateFrom, "P_CREATION_DATE_TO": dateTo};
|
|
|
|
postParams.addAll(AppState().postParamsJson);
|
|
return await ApiClient().postJsonForObject((json) {
|
|
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
|
|
return responseData.getPendingTransactionsDetails ?? [];
|
|
}, url, postParams);
|
|
}
|
|
|
|
Future<String> getAnnouncements(int itgAwarenessID, int itgPageNo, int itgRowID) async {
|
|
String url = "${ApiConsts.cocRest}GetAnnouncementDiscountsConfigData";
|
|
Map<String, dynamic> 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);
|
|
return responseData.mohemmITGResponseItem ?? "";
|
|
}, url, postParams);
|
|
}
|
|
|
|
Future<GetAnnouncementDetails> getAnnouncementDetails(int itgAwarenessID, int itgPageNo, int itgRowID) async {
|
|
String url = "${ApiConsts.cocRest}GetAnnouncementDiscountsConfigData";
|
|
Map<String, dynamic> 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);
|
|
}
|
|
|
|
}
|