From d1cc9bd4682228ec056067c0bf56c3ce6c161e25 Mon Sep 17 00:00:00 2001 From: Fatimah Alshammari Date: Mon, 8 Aug 2022 08:51:04 +0300 Subject: [PATCH] fix issue --- lib/api/worklist/worklist_api_client.dart | 27 ++++++++++++++ lib/models/generic_response_model.dart | 37 +++++++++++++++---- lib/models/get_user_item_type_list.dart | 30 +++++++++++++++ lib/models/update_item_type_success_list.dart | 25 +++++++++++++ lib/models/update_user_item_type_list.dart | 20 ++++++++++ lib/ui/work_list/work_list_screen.dart | 1 + lib/widgets/app_bar_widget.dart | 13 ++++++- 7 files changed, 144 insertions(+), 9 deletions(-) create mode 100644 lib/models/get_user_item_type_list.dart create mode 100644 lib/models/update_item_type_success_list.dart create mode 100644 lib/models/update_user_item_type_list.dart diff --git a/lib/api/worklist/worklist_api_client.dart b/lib/api/worklist/worklist_api_client.dart index bc05627..2566e59 100644 --- a/lib/api/worklist/worklist_api_client.dart +++ b/lib/api/worklist/worklist_api_client.dart @@ -17,9 +17,11 @@ import 'package:mohem_flutter_app/models/get_po_notification_body_list_model.dar import 'package:mohem_flutter_app/models/get_quotation_analysis_list_model.dart'; import 'package:mohem_flutter_app/models/get_stamp_ms_notification_body_list_model.dart'; import 'package:mohem_flutter_app/models/get_stamp_ns_notification_body_list_model.dart'; +import 'package:mohem_flutter_app/models/get_user_item_type_list.dart'; import 'package:mohem_flutter_app/models/itg_forms_models/itg_request_model.dart'; import 'package:mohem_flutter_app/models/member_information_list_model.dart'; import 'package:mohem_flutter_app/models/notification_get_respond_attributes_list_model.dart'; +import 'package:mohem_flutter_app/models/update_user_item_type_list.dart'; import 'package:mohem_flutter_app/models/worklist/get_favorite_replacements_model.dart'; import 'package:mohem_flutter_app/models/worklist/hr/eit_otification_body_model.dart'; import 'package:mohem_flutter_app/models/worklist/hr/get_basic_det_ntf_body_list_model.dart'; @@ -445,4 +447,29 @@ class WorkListApiClient { return responseData; }, url, postParams); } + + + Future?> getUserItemTypes() async { + String url = "${ApiConsts.erpRest}GET_USER_ITEM_TYPES"; + Map postParams = { + + }; + postParams.addAll(AppState().postParamsJson); + return await ApiClient().postJsonForObject((json) { + GenericResponseModel responseData = GenericResponseModel.fromJson(json); + return responseData.getUserItemTypesList; + }, url, postParams); + } + + Future updateUserItemTypes() async { + String url = "${ApiConsts.erpRest}UPDATE_USER_ITEM_TYPES"; + Map postParams = { + + }; + postParams.addAll(AppState().postParamsJson); + return await ApiClient().postJsonForObject((json) { + GenericResponseModel responseData = GenericResponseModel.fromJson(json); + return responseData.updateUserItemTypesList; + }, url, postParams); + } } diff --git a/lib/models/generic_response_model.dart b/lib/models/generic_response_model.dart index 5d93f16..32290dd 100644 --- a/lib/models/generic_response_model.dart +++ b/lib/models/generic_response_model.dart @@ -32,6 +32,7 @@ import 'package:mohem_flutter_app/models/get_schedule_shifts_details_list_model. import 'package:mohem_flutter_app/models/get_stamp_ms_notification_body_list_model.dart'; import 'package:mohem_flutter_app/models/get_stamp_ns_notification_body_list_model.dart'; import 'package:mohem_flutter_app/models/get_time_card_summary_list_model.dart'; +import 'package:mohem_flutter_app/models/get_user_item_type_list.dart'; import 'package:mohem_flutter_app/models/member_information_list_model.dart'; import 'package:mohem_flutter_app/models/member_login_list_model.dart'; import 'package:mohem_flutter_app/models/monthly_pay_slip/get_deductions_List_model.dart'; @@ -61,6 +62,8 @@ import 'package:mohem_flutter_app/models/profile/submit_contact_transaction_list import 'package:mohem_flutter_app/models/start_eit_approval_process_model.dart'; import 'package:mohem_flutter_app/models/submit_eit_transaction_list_model.dart'; import 'package:mohem_flutter_app/models/subordinates_on_leaves_model.dart'; +import 'package:mohem_flutter_app/models/update_item_type_success_list.dart'; +import 'package:mohem_flutter_app/models/update_user_item_type_list.dart'; import 'package:mohem_flutter_app/models/vacation_rule/get_item_type_notifications_list_model.dart'; import 'package:mohem_flutter_app/models/vacation_rule/get_notification_reassign_mode_list_model.dart'; import 'package:mohem_flutter_app/models/vacation_rule/get_vacation_rules_list_model.dart'; @@ -221,7 +224,7 @@ class GenericResponseModel { List? getDepartmentSections; List? getPendingTransactionsFunctions; List? getPendingTransactionsDetails; - List? getUserItemTypesList; + List? getUserItemTypesList; List? getVacationRulesList; List? getVaccinationOnHandList; List? getVaccinationsList; @@ -319,8 +322,8 @@ class GenericResponseModel { String? tokenID; String? updateAttachmentList; String? updateEmployeeImageList; - String? updateItemTypeSuccessList; - String? updateUserItemTypesList; + List? updateItemTypeSuccessList; + UpdateUserItemTypesList? updateUserItemTypesList; String? updateVacationRuleList; String? vHREmployeeLoginList; String? vHRGetEmployeeDetailsList; @@ -1017,7 +1020,12 @@ class GenericResponseModel { }); } - getUserItemTypesList = json['GetUserItemTypesList']; + if (json['GetUserItemTypesList'] != null) { + getUserItemTypesList = []; + json['GetUserItemTypesList'].forEach((v) { + getUserItemTypesList!.add(new GetUserItemTypesList.fromJson(v)); + }); + } if (json['GetVacationRulesList'] != null) { getVacationRulesList = []; json['GetVacationRulesList'].forEach((v) { @@ -1180,8 +1188,16 @@ class GenericResponseModel { tokenID = json['TokenID']; updateAttachmentList = json['UpdateAttachmentList']; updateEmployeeImageList = json['UpdateEmployeeImageList']; - updateItemTypeSuccessList = json['UpdateItemTypeSuccessList']; - updateUserItemTypesList = json['UpdateUserItemTypesList']; + if (json['UpdateItemTypeSuccessList'] != null) { + updateItemTypeSuccessList = []; + json['UpdateItemTypeSuccessList'].forEach((v) { + updateItemTypeSuccessList! + .add(new UpdateItemTypeSuccessList.fromJson(v)); + }); + } + updateUserItemTypesList = json['UpdateUserItemTypesList'] != null + ? new UpdateUserItemTypesList.fromJson(json['UpdateUserItemTypesList']) + : null; updateVacationRuleList = json['UpdateVacationRuleList']; vHREmployeeLoginList = json['VHR_EmployeeLoginList']; vHRGetEmployeeDetailsList = json['VHR_GetEmployeeDetailsList']; @@ -1588,8 +1604,13 @@ class GenericResponseModel { data['TokenID'] = this.tokenID; data['UpdateAttachmentList'] = this.updateAttachmentList; data['UpdateEmployeeImageList'] = this.updateEmployeeImageList; - data['UpdateItemTypeSuccessList'] = this.updateItemTypeSuccessList; - data['UpdateUserItemTypesList'] = this.updateUserItemTypesList; + if (this.updateItemTypeSuccessList != null) { + data['UpdateItemTypeSuccessList'] = + this.updateItemTypeSuccessList!.map((v) => v.toJson()).toList(); + } + if (this.updateUserItemTypesList != null) { + data['UpdateUserItemTypesList'] = this.updateUserItemTypesList!.toJson(); + } data['UpdateVacationRuleList'] = this.updateVacationRuleList; data['VHR_EmployeeLoginList'] = this.vHREmployeeLoginList; data['VHR_GetEmployeeDetailsList'] = this.vHRGetEmployeeDetailsList; diff --git a/lib/models/get_user_item_type_list.dart b/lib/models/get_user_item_type_list.dart new file mode 100644 index 0000000..fc7f4c3 --- /dev/null +++ b/lib/models/get_user_item_type_list.dart @@ -0,0 +1,30 @@ + + +class GetUserItemTypesList { + String? fYAENABLEDFALG; + String? fYIENABLEDFLAG; + String? iTEMTYPE; + int? uSERITEMTYPEID; + + GetUserItemTypesList( + {this.fYAENABLEDFALG, + this.fYIENABLEDFLAG, + this.iTEMTYPE, + this.uSERITEMTYPEID}); + + GetUserItemTypesList.fromJson(Map json) { + fYAENABLEDFALG = json['FYA_ENABLED_FALG']; + fYIENABLEDFLAG = json['FYI_ENABLED_FLAG']; + iTEMTYPE = json['ITEM_TYPE']; + uSERITEMTYPEID = json['USER_ITEM_TYPE_ID']; + } + + Map toJson() { + final Map data = new Map(); + data['FYA_ENABLED_FALG'] = this.fYAENABLEDFALG; + data['FYI_ENABLED_FLAG'] = this.fYIENABLEDFLAG; + data['ITEM_TYPE'] = this.iTEMTYPE; + data['USER_ITEM_TYPE_ID'] = this.uSERITEMTYPEID; + return data; + } +} \ No newline at end of file diff --git a/lib/models/update_item_type_success_list.dart b/lib/models/update_item_type_success_list.dart new file mode 100644 index 0000000..1090dca --- /dev/null +++ b/lib/models/update_item_type_success_list.dart @@ -0,0 +1,25 @@ + + +class UpdateItemTypeSuccessList { + int? itemID; + Null? updateError; + bool? updateSuccess; + + UpdateItemTypeSuccessList( + {this.itemID, this.updateError, this.updateSuccess}); + + UpdateItemTypeSuccessList.fromJson(Map json) { + itemID = json['ItemID']; + updateError = json['UpdateError']; + updateSuccess = json['UpdateSuccess']; + } + + Map toJson() { + final Map data = new Map(); + data['ItemID'] = this.itemID; + data['UpdateError'] = this.updateError; + data['UpdateSuccess'] = this.updateSuccess; + return data; + } +} + diff --git a/lib/models/update_user_item_type_list.dart b/lib/models/update_user_item_type_list.dart new file mode 100644 index 0000000..58f4714 --- /dev/null +++ b/lib/models/update_user_item_type_list.dart @@ -0,0 +1,20 @@ + + +class UpdateUserItemTypesList { + String? pRETURNMSG; + String? pRETURNSTATUS; + + UpdateUserItemTypesList({this.pRETURNMSG, this.pRETURNSTATUS}); + + UpdateUserItemTypesList.fromJson(Map json) { + pRETURNMSG = json['P_RETURN_MSG']; + pRETURNSTATUS = json['P_RETURN_STATUS']; + } + + Map toJson() { + final Map data = new Map(); + data['P_RETURN_MSG'] = this.pRETURNMSG; + data['P_RETURN_STATUS'] = this.pRETURNSTATUS; + return data; + } +} \ No newline at end of file diff --git a/lib/ui/work_list/work_list_screen.dart b/lib/ui/work_list/work_list_screen.dart index eb2ba05..a1a8e8a 100644 --- a/lib/ui/work_list/work_list_screen.dart +++ b/lib/ui/work_list/work_list_screen.dart @@ -121,6 +121,7 @@ class _WorkListScreenState extends State { appBar: AppBarWidget( context, title: LocaleKeys.workList.tr(), + showNotificationButton: true, ), body: SizedBox( width: double.infinity, diff --git a/lib/widgets/app_bar_widget.dart b/lib/widgets/app_bar_widget.dart index 5f021d1..b6ff590 100644 --- a/lib/widgets/app_bar_widget.dart +++ b/lib/widgets/app_bar_widget.dart @@ -4,7 +4,7 @@ import 'package:mohem_flutter_app/extensions/int_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; -AppBar AppBarWidget(BuildContext context, {required String title, bool showHomeButton = false}) { +AppBar AppBarWidget(BuildContext context, {required String title, bool showHomeButton = false, bool showNotificationButton = false}) { return AppBar( leadingWidth: 0, // leading: GestureDetector( @@ -39,6 +39,17 @@ AppBar AppBarWidget(BuildContext context, {required String title, bool showHomeB }, icon: const Icon(Icons.home, color: MyColors.darkIconColor), ), + if (showNotificationButton) + IconButton( + onPressed: () { + // Navigator.pushAndRemoveUntil( + // context, + // MaterialPageRoute(builder: (context) => LandingPage()), + // (Route route) => false, + // ); + }, + icon: const Icon(Icons.notifications, color: MyColors.textMixColor), + ), ], ); }