diff --git a/assets/langs/ar-SA.json b/assets/langs/ar-SA.json index d46095c..3e6b52c 100644 --- a/assets/langs/ar-SA.json +++ b/assets/langs/ar-SA.json @@ -421,6 +421,8 @@ "fieldIsEmpty": "'{data}' الحقل فارغ. الرجاء التحديد", "pleaseEnterComments": "الرجاء إدخال التعليقات", "skip": "يتخطى", + "typeCurrentPasswordBelow": "اكتب كلمة المرور الحاليه", + "currentPassword": "كلمة المرور الحاليه", "profile": { "reset_password": { "label": "Reset Password", diff --git a/assets/langs/en-US.json b/assets/langs/en-US.json index 932883b..7051254 100644 --- a/assets/langs/en-US.json +++ b/assets/langs/en-US.json @@ -421,6 +421,8 @@ "fieldIsEmpty": "'{data}' Field is empty. Please select", "pleaseEnterComments": "Please enter comments", "skip": "skip", + "typeCurrentPasswordBelow": "Type Your Current password below", + "currentPassword": "Current password", "profile": { "reset_password": { "label": "Reset Password", diff --git a/lib/api/profile_api_client.dart b/lib/api/profile_api_client.dart index 2d8b71e..832b6d8 100644 --- a/lib/api/profile_api_client.dart +++ b/lib/api/profile_api_client.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:convert'; import 'package:mohem_flutter_app/api/api_client.dart'; import 'package:mohem_flutter_app/app_state/app_state.dart'; @@ -377,7 +378,7 @@ class ProfileApiClient { }, url, postParams); } - Future submitContactTransactionAddAndUpdate(String actionType, int relationId, List> list) async { + Future submitContactTransactionAddAndUpdate(String actionType, relationId, List> list) async { String url = "${ApiConsts.erpRest}SUBMIT_CONTACT_TRANSACTION"; Map postParams = { "P_MENU_TYPE": "E", @@ -386,8 +387,14 @@ class ProfileApiClient { "P_ACTION": actionType, "P_CONTACT_RELATIONSHIP_ID": relationId, }; - postParams["EITTransactionTBL"] = list; + postParams.addAll(AppState().postParamsJson); + print("postParam:${json.encode(postParams)}"); + postParams["EITTransactionTBL"] = list; + list.forEach((element) { + print(json.encode(element)); + + }); return await ApiClient().postJsonForObject((json) { GenericResponseModel? responseData = GenericResponseModel.fromJson(json); return responseData.submitContactTransactionList; diff --git a/lib/generated/codegen_loader.g.dart b/lib/generated/codegen_loader.g.dart index c41b7c3..389fbe0 100644 --- a/lib/generated/codegen_loader.g.dart +++ b/lib/generated/codegen_loader.g.dart @@ -437,6 +437,8 @@ class CodegenLoader extends AssetLoader{ "fieldIsEmpty": "'{data}' الحقل فارغ. الرجاء التحديد", "pleaseEnterComments": "الرجاء إدخال التعليقات", "skip": "يتخطى", + "typeCurrentPasswordBelow": "اكتب كلمة المرور الحاليه", + "currentPassword": "كلمة المرور الحاليه", "profile": { "reset_password": { "label": "Reset Password", @@ -924,8 +926,8 @@ static const Map en_US = { "adult": "Adult", "updateMember": "Are You Sure You Want to Update this Member?", "fieldIsEmpty": "'{data}' Field is empty. Please select", - "pleaseEnterComments": "Please enter comments", - "skip": "skip", + "typeCurrentPasswordBelow": "Type Your Current password below", + "currentPassword": "Current password", "profile": { "reset_password": { "label": "Reset Password", diff --git a/lib/generated/locale_keys.g.dart b/lib/generated/locale_keys.g.dart index f4b8493..d3b872b 100644 --- a/lib/generated/locale_keys.g.dart +++ b/lib/generated/locale_keys.g.dart @@ -422,6 +422,8 @@ abstract class LocaleKeys { static const fieldIsEmpty = 'fieldIsEmpty'; static const pleaseEnterComments = 'pleaseEnterComments'; static const skip = 'skip'; + static const typeCurrentPasswordBelow = 'typeCurrentPasswordBelow'; + static const currentPassword = 'currentPassword'; static const profile_reset_password_label = 'profile.reset_password.label'; static const profile_reset_password_username = 'profile.reset_password.username'; static const profile_reset_password_password = 'profile.reset_password.password'; diff --git a/lib/models/generic_response_model.dart b/lib/models/generic_response_model.dart index b812411..2374fbc 100644 --- a/lib/models/generic_response_model.dart +++ b/lib/models/generic_response_model.dart @@ -790,30 +790,13 @@ class GenericResponseModel { getCEIDFFStructureList = json['GetCEIDFFStructureList']; getCEITransactionList = json['GetCEITransactionList']; getCcpTransactionsList = json['GetCcpTransactionsList']; - if (json['GetContactDetailsList'] != null) { - getContactDetailsList = []; - json['GetContactDetailsList'].forEach((v) { - getContactDetailsList!.add(GetContactDetailsList.fromJson(v)); - }); - } - if (json['GetContactColsStructureList'] != null) { - getContactColsStructureList = []; - json['GetContactColsStructureList'].forEach((v) { - getContactColsStructureList!.add(GetContactColsStructureList.fromJson(v)); - }); - } - getContactColsStructureList = json['GetContactColsStructureList']; - getContactDetailsList = json['GetContactDetailsList']; - getContactDffStructureList = json['GetContactDffStructureList']; getContactNotificationBodyList = json["GetContactNotificationBodyList"] == null ? null : GetContactNotificationBodyList.fromJson(json["GetContactNotificationBodyList"]); - if (json['GetContactColsStructureList'] != null) { getContactColsStructureList = []; json['GetContactColsStructureList'].forEach((v) { getContactColsStructureList!.add(GetContactColsStructureList.fromJson(v)); }); } - if (json['GetContactDetailsList'] != null) { getContactDetailsList = []; json['GetContactDetailsList'].forEach((v) { @@ -826,8 +809,6 @@ class GenericResponseModel { getContactDffStructureList!.add(GetContactDffStructureList.fromJson(v)); }); } - // getContactDetailsList = json['GetContactDetailsList']; - // getContactDffStructureList = json['GetContactDffStructureList']; getContactNotificationBodyList = json["GetContactNotificationBodyList"] == null ? null : GetContactNotificationBodyList.fromJson(json["GetContactNotificationBodyList"]); if (json['GetCountriesList'] != null) { diff --git a/lib/ui/login/change_password_screen.dart b/lib/ui/login/change_password_screen.dart index 01603d9..e2d292e 100644 --- a/lib/ui/login/change_password_screen.dart +++ b/lib/ui/login/change_password_screen.dart @@ -64,11 +64,11 @@ class _ChangePasswordScreenState extends State { ListView( padding: const EdgeInsets.all(21), children: [ - "Change Password".toText24(isBold: true), - "Type Your Current password below".toText16(), + LocaleKeys.changePassword.tr().toText24(isBold: true), + LocaleKeys.typeCurrentPasswordBelow.tr().toText16(), 16.height, InputWidget( - "Current password", + LocaleKeys.currentPassword.tr(), "**********", oldPassword, onChange: (value) { diff --git a/lib/ui/profile/add_update_family_member.dart b/lib/ui/profile/add_update_family_member.dart index 5e5efee..00ad7fc 100644 --- a/lib/ui/profile/add_update_family_member.dart +++ b/lib/ui/profile/add_update_family_member.dart @@ -38,7 +38,8 @@ class _AddUpdateFamilyMemberState extends State { SubmitContactTransactionList? submitContactTransactionList; dynamic args; String? date = "MM/DD/YYYY"; - + var dateTime = DateTime.now().timeZoneOffset; + var dateTime1 = DateTime.now().timeZoneName; GetApprovesList? getApprovesList; @@ -48,7 +49,7 @@ class _AddUpdateFamilyMemberState extends State { } void callAddAndUpdateFamilyMember() async { - try { + try { Utils.showLoading(context); getBasicDetDffStructureList = await ProfileApiClient().getBasicDetDffStructure(); getContactColsStructureList = await ProfileApiClient().getContactColsStructureList(args['actionType']); @@ -89,11 +90,13 @@ class _AddUpdateFamilyMemberState extends State { Widget build(BuildContext context) { if (args == null) { args = ModalRoute.of(context)!.settings.arguments; - callAddAndUpdateFamilyMember();} + callAddAndUpdateFamilyMember(); + } return Scaffold( appBar: AppBarWidget( context, - title: LocaleKeys.profile_familyDetails.tr(),), + title: LocaleKeys.profile_familyDetails.tr(), + ), backgroundColor: MyColors.backgroundColor, body: args['flag'] == 1 ? Column( @@ -125,49 +128,45 @@ class _AddUpdateFamilyMemberState extends State { separatorBuilder: (cxt, index) => 0.height, itemCount: getContactDffStructureList!.length), ]).expanded, - DefaultButton( - LocaleKeys.next.tr(), () async { - submitUpdateForm(); - } - ).insideContainer, + DefaultButton(LocaleKeys.next.tr(), () async { + submitUpdateForm(); + }).insideContainer, ], ) : args['flag'] == 2 ? Column( children: [ - // getContactDetailsList!.isEmpty - ListView(physics: const BouncingScrollPhysics(), padding: const EdgeInsets.all(21), children: [ - ListView.separated( - physics: const NeverScrollableScrollPhysics(), - shrinkWrap: true, - itemBuilder: (BuildContext cxt, int parentIndex) { - return parseDynamicFormatTypeCols(getContactColsStructureList![parentIndex], parentIndex); - }, - separatorBuilder: (cxt, index) => 0.height, - itemCount: getContactColsStructureList!.length), - 12.height, - ListView.separated( - physics: const NeverScrollableScrollPhysics(), - shrinkWrap: true, - itemBuilder: (BuildContext cxt, int parentIndex) { - return parseDynamicFormatTypeBasicDetDff(getBasicDetDffStructureList![parentIndex], parentIndex); - }, - separatorBuilder: (cxt, index) => 0.height, - itemCount: getBasicDetDffStructureList!.length), - ListView.separated( - physics: const NeverScrollableScrollPhysics(), - shrinkWrap: true, - itemBuilder: (BuildContext cxt, int parentIndex) { - return parseDynamicFormatTypeContactDff(getContactDffStructureList![parentIndex], parentIndex); - }, - separatorBuilder: (cxt, index) => 0.height, - itemCount: getContactDffStructureList!.length), - ]).expanded, - DefaultButton( - LocaleKeys.next.tr(), () async { + // getContactDetailsList!.isEmpty + ListView(physics: const BouncingScrollPhysics(), padding: const EdgeInsets.all(21), children: [ + ListView.separated( + physics: const NeverScrollableScrollPhysics(), + shrinkWrap: true, + itemBuilder: (BuildContext cxt, int parentIndex) { + return parseDynamicFormatTypeCols(getContactColsStructureList![parentIndex], parentIndex); + }, + separatorBuilder: (cxt, index) => 0.height, + itemCount: getContactColsStructureList!.length), + 12.height, + ListView.separated( + physics: const NeverScrollableScrollPhysics(), + shrinkWrap: true, + itemBuilder: (BuildContext cxt, int parentIndex) { + return parseDynamicFormatTypeBasicDetDff(getBasicDetDffStructureList![parentIndex], parentIndex); + }, + separatorBuilder: (cxt, index) => 0.height, + itemCount: getBasicDetDffStructureList!.length), + ListView.separated( + physics: const NeverScrollableScrollPhysics(), + shrinkWrap: true, + itemBuilder: (BuildContext cxt, int parentIndex) { + return parseDynamicFormatTypeContactDff(getContactDffStructureList![parentIndex], parentIndex); + }, + separatorBuilder: (cxt, index) => 0.height, + itemCount: getContactDffStructureList!.length), + ]).expanded, + DefaultButton(LocaleKeys.next.tr(), () async { submitUpdateForm(); - } - ).insideContainer, + }).insideContainer, ], ) : Container(), @@ -199,13 +198,23 @@ class _AddUpdateFamilyMemberState extends State { }); } else { return DynamicTextFieldWidget( - (model!.sEGMENTPROMPT ?? "") + (model!.rEQUIREDFLAG == "Y" ? "*" : "") , - ( model!.getContactDetailsList!.sEGMENTVALUEDSP ?? "")+ (model!.aPPLICATIONCOLUMNNAME == "NATIONAL_IDENTIFIER" ? "1-1111-1111-1" : ""), + (model!.sEGMENTPROMPT ?? "") + (model!.rEQUIREDFLAG == "Y" ? "*" : ""), + (model!.getContactDetailsList!.sEGMENTVALUEDSP ?? ""), + //isInputTypeNum: true, onChange: (text) { model!.getContactDetailsList!.sEGMENTVALUEDSP = text; }, ).paddingOnly(bottom: 12); } + } else if (model.dATATYPE == "NUMBER") { + return DynamicTextFieldWidget( + (model!.sEGMENTPROMPT ?? "") + (model!.rEQUIREDFLAG == "Y" ? "*" : ""), + (model!.getContactDetailsList!.sEGMENTVALUEDSP ?? ""), + isInputTypeNum: true, + onChange: (text) { + model!.getContactDetailsList!.sEGMENTVALUEDSP = text; + }, + ).paddingOnly(bottom: 12); } else if (model.dATATYPE == "DATE") { return DynamicTextFieldWidget( (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), @@ -214,8 +223,13 @@ class _AddUpdateFamilyMemberState extends State { isEnable: false, onTap: () async { DateTime dateValue = await _selectDate(context); - date = DateFormat('yyyy/MM/dd').format(dateValue); + //date = DateFormat('yyyy/MM/dd').format(dateValue); + date = "2022-10-23T09:17:38.653+03:00"; + // date = (DateFormat('yyyy-MM-dd').format(dateValue)+"T"+ dateTime.toString() + dateTime1.toString()); model!.getContactDetailsList!.sEGMENTVALUEDSP = date; + print(dateTime); + print(dateTime1); + print(date); setState(() {}); }, ).paddingOnly(bottom: 12); @@ -251,11 +265,21 @@ class _AddUpdateFamilyMemberState extends State { return DynamicTextFieldWidget( (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), model.getContactDetailsList!.sEGMENTVALUEDSP ?? "", + // isInputTypeNum: true, onChange: (text) { model.getContactDetailsList!.sEGMENTVALUEDSP = text; }, ).paddingOnly(bottom: 12); } + } else if (model.fORMATTYPE == "N") { + return DynamicTextFieldWidget( + (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), + model.getContactDetailsList!.sEGMENTVALUEDSP ?? "", + isInputTypeNum: true, + onChange: (text) { + model.getContactDetailsList!.sEGMENTVALUEDSP = text; + }, + ).paddingOnly(bottom: 12); } else if (model.fORMATTYPE == "X") { return DynamicTextFieldWidget( (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), @@ -264,7 +288,9 @@ class _AddUpdateFamilyMemberState extends State { isEnable: false, onTap: () async { DateTime dateValue = await _selectDate(context); - date = DateFormat('yyyy/MM/dd').format(dateValue); + date = "2022-10-23T09:17:38.653+03:00"; + // date = (DateFormat('yyyy-MM-dd').format(dateValue) +"T"+ dateTime.toString() + dateTime1.toString()); + // date = DateFormat('yyyy/MM/dd').format(dateValue); model!.getContactDetailsList!.sEGMENTVALUEDSP = date; setState(() {}); }, @@ -300,11 +326,21 @@ class _AddUpdateFamilyMemberState extends State { return DynamicTextFieldWidget( (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), model.getContactDetailsList!.sEGMENTVALUEDSP ?? "", + // isInputTypeNum: true, onChange: (text) { model.getContactDetailsList!.sEGMENTVALUEDSP = text; }, ).paddingOnly(bottom: 12); } + } else if (model.fORMATTYPE == "N") { + return DynamicTextFieldWidget( + (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), + model.getContactDetailsList!.sEGMENTVALUEDSP ?? "", + isInputTypeNum: true, + onChange: (text) { + model.getContactDetailsList!.sEGMENTVALUEDSP = text; + }, + ).paddingOnly(bottom: 12); } else if (model.fORMATTYPE == "X") { return DynamicTextFieldWidget( (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), @@ -313,7 +349,9 @@ class _AddUpdateFamilyMemberState extends State { isEnable: false, onTap: () async { DateTime dateValue = await _selectDate(context); - date = DateFormat('yyyy/MM/dd').format(dateValue); + date = "2022-10-23T09:17:38.653+03:00"; + // date = (DateFormat('yyyy-MM-dd').format(dateValue)+"T"+ dateTime.toString() + dateTime1.toString()); + // date = DateFormat('yyyy/MM/dd').format(dateValue); model!.getContactDetailsList!.sEGMENTVALUEDSP = date; setState(() {}); }, @@ -345,8 +383,7 @@ class _AddUpdateFamilyMemberState extends State { ), ); } else { - DateTime? picked = - await showDatePicker(context: context, initialDate: selectedDate, initialEntryMode: DatePickerEntryMode.calendarOnly, firstDate: DateTime(2015, 8), lastDate: DateTime(2101)); + DateTime? picked = await showDatePicker(context: context, initialDate: selectedDate, initialEntryMode: DatePickerEntryMode.calendarOnly, firstDate: DateTime(2015, 8), lastDate: DateTime(2101)); if (picked != null && picked != selectedDate) { time = picked; } @@ -354,80 +391,81 @@ class _AddUpdateFamilyMemberState extends State { return time; } - - void submitUpdateForm() async { - try { - List> values1 = getBasicDetDffStructureList!.map((e) { - String? dateVal = ''; - String? vatcherVal = ''; - int? numberVal; - if (e!.fORMATTYPE == 'N') { - dateVal = null; - vatcherVal = null; - numberVal = e!.getContactDetailsList!.nUMBERVALUE; - } else if (e.fORMATTYPE == 'X') { - dateVal = e!.getContactDetailsList!.dATEVALUE.toString(); - vatcherVal = null; - numberVal = null; - } else { - dateVal = null; - vatcherVal = e!.getContactDetailsList!.vARCHAR2VALUE.toString(); - numberVal = null; - } - return ValidateEitTransactionModel(dATEVALUE: dateVal, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberVal, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: vatcherVal.toString()).toJson(); - }).toList(); - List> values2 = getContactDffStructureList!.map((e) { - String? dateVal = ''; - String? vatcherVal = ''; - int? numberVal; - if (e!.fORMATTYPE == 'N') { - dateVal = null; - vatcherVal = null; - numberVal = e!.getContactDetailsList!.nUMBERVALUE; - } else if (e.fORMATTYPE == 'X') { - dateVal = e!.getContactDetailsList!.dATEVALUE.toString(); - vatcherVal = null; - numberVal = null; - } else { - dateVal = null; - numberVal = null; - vatcherVal = e!.getContactDetailsList!.vARCHAR2VALUE.toString(); - } - return ValidateEitTransactionModel(dATEVALUE: dateVal, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberVal, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: vatcherVal.toString()).toJson(); - }).toList(); - List> values3 = getContactColsStructureList!.map((e) { - // String tempVar = e!.getContactDetailsList!.sEGMENTVALUEDSP ?? ""; - String? dateVal = ''; - String? vatcherVal = ''; - int? numberVal; - if (e!.dATATYPE == 'VARCHAR2') { - dateVal = null; - numberVal = null; - vatcherVal = e!.getContactDetailsList!.vARCHAR2VALUE.toString(); - } else if (e.dATATYPE == 'DATE') { - dateVal = e!.getContactDetailsList!.dATEVALUE.toString(); - vatcherVal = null; - numberVal = null; - } else if (e.dATATYPE == 'NUMBER') { - dateVal = null; - vatcherVal = null; - numberVal = e!.getContactDetailsList!.nUMBERVALUE; - } else {} - return ValidateEitTransactionModel(dATEVALUE: dateVal, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberVal, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: vatcherVal.toString()).toJson(); - }).toList(); - List> valuesFinal = [...values1, ...values2, ...values3]; - Utils.showLoading(context); - submitContactTransactionList = await ProfileApiClient().submitContactTransactionAddAndUpdate(args['actionType'], args['relationID'] ?? 0, valuesFinal); - var transactionId = submitContactTransactionList!.pTRANSACTIONID; - var itemKey = submitContactTransactionList!.pITEMKEY; - Utils.hideLoading(context); - Navigator.pushNamed(context, AppRoutes.requestSubmitScreen, - arguments: RequestSubmitScreenParams(LocaleKeys.profile_familyDetails.tr(), transactionId!.toInt(), itemKey.toString(), 'family_member')); - setState(() {}); - } catch (ex) { - Utils.hideLoading(context); - Utils.handleException(ex, context, null); - } + // try { + List> values1 = getBasicDetDffStructureList!.map((e) { + String? dateVal = ''; + String? vatcherVal = ''; + int? numberVal; + if (e!.fORMATTYPE == 'N') { + dateVal = null; + vatcherVal = null; + numberVal = int.parse(e.getContactDetailsList!.sEGMENTVALUEDSP??"0"); + } else if (e.fORMATTYPE == 'X') { + dateVal = e!.getContactDetailsList!.sEGMENTVALUEDSP.toString(); + vatcherVal = null; + numberVal = null; + } else { + dateVal = null; + vatcherVal = e!.getContactDetailsList!.sEGMENTVALUEDSP; + numberVal = null; + } + return ValidateEitTransactionModel(dATEVALUE: dateVal, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberVal, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: vatcherVal.toString()).toJson(); + }).toList(); + List> values2 = getContactDffStructureList!.map((e) { + String? dateVal = ''; + String? vatcherVal = ''; + int? numberVal; + if (e!.fORMATTYPE == 'N') { + dateVal = null; + vatcherVal = null; + numberVal = int.parse(e.getContactDetailsList!.sEGMENTVALUEDSP??"0"); + } else if (e.fORMATTYPE == 'X') { + dateVal = e!.getContactDetailsList!.sEGMENTVALUEDSP; + vatcherVal = null; + numberVal = null; + } else { + dateVal = null; + numberVal = null; + vatcherVal = e!.getContactDetailsList!.sEGMENTVALUEDSP; + } + return ValidateEitTransactionModel(dATEVALUE: dateVal, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberVal, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: vatcherVal.toString()).toJson(); + }).toList(); + List> values3 = getContactColsStructureList!.map((e) { + // String tempVar = e!.getContactDetailsList!.sEGMENTVALUEDSP ?? ""; + String? dateVal = ''; + String? vatcherVal = ''; + int? numberVal; + + print("e.dATATYPE:${e?.dATATYPE}"); + if (e!.dATATYPE == 'VARCHAR2') { + dateVal = null; + numberVal = null; + vatcherVal = e.getContactDetailsList?.sEGMENTVALUEDSP ?? ""; + } else if (e.dATATYPE == 'DATE') { + dateVal = e.getContactDetailsList!.sEGMENTVALUEDSP.toString(); + print("dateVal:${dateVal ?? ""}"); + vatcherVal = null; + numberVal = null; + } else if (e.dATATYPE == 'NUMBER') { + dateVal = null; + vatcherVal = null; + numberVal = int.parse(e.getContactDetailsList!.sEGMENTVALUEDSP??"0"); + } else {} + return ValidateEitTransactionModel(dATEVALUE: dateVal, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberVal, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: vatcherVal).toJson(); + }).toList(); + List> valuesFinal = [...values1, ...values2, ...values3]; + Utils.showLoading(context); + submitContactTransactionList = await ProfileApiClient().submitContactTransactionAddAndUpdate(args['actionType'], args['relationID'] ?? null, valuesFinal); + var transactionId = submitContactTransactionList!.pTRANSACTIONID; + var itemKey = submitContactTransactionList!.pITEMKEY; + Utils.hideLoading(context); + Navigator.pushNamed(context, AppRoutes.requestSubmitScreen, + arguments: RequestSubmitScreenParams(LocaleKeys.profile_familyDetails.tr(), transactionId!.toInt(), itemKey.toString(), 'family_member')); + setState(() {}); + // } catch (ex) { + // Utils.hideLoading(context); + // Utils.handleException(ex, context, null); + // } } } diff --git a/lib/ui/profile/basic_details.dart b/lib/ui/profile/basic_details.dart index 7aad54b..c91adb5 100644 --- a/lib/ui/profile/basic_details.dart +++ b/lib/ui/profile/basic_details.dart @@ -78,31 +78,33 @@ class _BasicDetailsState extends State { backgroundColor: MyColors.backgroundColor, body: Column( children: [ - ListView( - padding: const EdgeInsets.all(21), - children: [ - getEmployeeBasicDetailsList == null - ? const SizedBox().expanded - : (getEmployeeBasicDetailsList!.isEmpty - ? Utils.getNoDataWidget(context).expanded - : Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: getEmployeeBasicDetailsList! - .map((e) => Column( - children: [ - e.dISPLAYFLAG == "Y" - ? Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ - "${e.sEGMENTPROMPT}".toText13(color: MyColors.lightGrayColor), - "${e.sEGMENTVALUEDSP}".toText16(isBold: true, color: MyColors.blackColor), - 12.height - ]) - : Container(), - ], - )) - .toList()) - .objectContainerView()) - ], - ).expanded, + Expanded( + child: ListView( + padding: const EdgeInsets.all(21), + children: [ + getEmployeeBasicDetailsList == null + ? const SizedBox() + : (getEmployeeBasicDetailsList!.isEmpty + ? Utils.getNoDataWidget(context) + : Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: getEmployeeBasicDetailsList! + .map((e) => Column( + children: [ + e.dISPLAYFLAG == "Y" + ? Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ + "${e.sEGMENTPROMPT}".toText13(color: MyColors.lightGrayColor), + "${e.sEGMENTVALUEDSP}".toText16(isBold: true, color: MyColors.blackColor), + 12.height + ]) + : Container(), + ], + )) + .toList()) + .objectContainerView()) + ], + ), + ), DefaultButton( LocaleKeys.update.tr(), menuEntries.updateButton == 'Y' diff --git a/lib/ui/profile/contact_details.dart b/lib/ui/profile/contact_details.dart index d64eeb4..9a6f25e 100644 --- a/lib/ui/profile/contact_details.dart +++ b/lib/ui/profile/contact_details.dart @@ -1,6 +1,7 @@ import 'package:easy_localization/src/public_ext.dart'; import 'package:flutter/material.dart'; import 'package:mohem_flutter_app/api/profile_api_client.dart'; +import 'package:mohem_flutter_app/app_state/app_state.dart'; import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/config/routes.dart'; @@ -98,11 +99,16 @@ class _ContactDetailsState extends State { separatorBuilder: (cxt, index) => 12.height, itemCount: getEmployeePhonesList.length), if (menuEntriesPhone.updateButton == 'Y') - Positioned( + AppState().isArabic(context)? Positioned( top: 1, - right: 1, + left: 1, child: const Icon(Icons.edit_location_alt_outlined, size: 20).onPress(updatePhone), - ), + ) + :Positioned( + top: 1, + right: 1, + child: const Icon(Icons.edit_location_alt_outlined, size: 20).onPress(updatePhone), + ), ], ).objectContainerView(), 12.height, diff --git a/lib/ui/profile/family_members.dart b/lib/ui/profile/family_members.dart index 52a6277..fd7bd13 100644 --- a/lib/ui/profile/family_members.dart +++ b/lib/ui/profile/family_members.dart @@ -27,7 +27,7 @@ class FamilyMembers extends StatefulWidget { class _FamilyMembersState extends State { List getEmployeeContactsList = []; - int? relationId; + dynamic? relationId; int? flag; GetMenuEntriesList menuEntries = GetMenuEntriesList(); @@ -97,8 +97,8 @@ class _FamilyMembersState extends State { style:TextStyle(color: menuEntries.updateButton == 'Y' ? MyColors.grey67Color : MyColors.lightGreyColor, fontSize: 12, letterSpacing: -0.36, fontWeight: FontWeight.w600), recognizer: TapGestureRecognizer() ..onTap = () async { - relationId = getEmployeeContactsList[index]!.cONTACTRELATIONSHIPID!.toInt(); - menuEntries.updateButton == 'Y'? showUpdateAlertDialog(context, relationId!.toInt(), 2, "UPDATE"):null; + relationId = getEmployeeContactsList[index]!.cONTACTRELATIONSHIPID; + menuEntries.updateButton == 'Y'? showUpdateAlertDialog(context, relationId, 2, "UPDATE"):null; } ) ], @@ -118,8 +118,8 @@ class _FamilyMembersState extends State { ), ], ), - ).onPress(() { relationId = getEmployeeContactsList[index]!.cONTACTRELATIONSHIPID!.toInt(); - showRemoveAlertDialog(context, relationId!.toInt());}), + ).onPress(() { relationId = getEmployeeContactsList[index]!.cONTACTRELATIONSHIPID; + showRemoveAlertDialog(context, relationId);}), ], ), ], @@ -136,7 +136,7 @@ class _FamilyMembersState extends State { )); } - void showUpdateAlertDialog(BuildContext context, int relationId, int flag, String actionType) { + void showUpdateAlertDialog(BuildContext context, relationId, int flag, String actionType) { Widget cancelButton = TextButton( child: Text( LocaleKeys.cancel.tr(), @@ -175,7 +175,7 @@ class _FamilyMembersState extends State { ); } - void showRemoveAlertDialog(BuildContext context, int relationId) { + void showRemoveAlertDialog(BuildContext context, relationId) { Widget cancelButton = TextButton( child: Text( LocaleKeys.cancel.tr(), diff --git a/lib/ui/screens/items_for_sale/fragments/items_for_sale.dart b/lib/ui/screens/items_for_sale/fragments/items_for_sale.dart index ca75a7a..50a89cc 100644 --- a/lib/ui/screens/items_for_sale/fragments/items_for_sale.dart +++ b/lib/ui/screens/items_for_sale/fragments/items_for_sale.dart @@ -4,6 +4,7 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:mohem_flutter_app/api/items_for_sale/items_for_sale_api_client.dart'; +import 'package:mohem_flutter_app/app_state/app_state.dart'; import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/config/routes.dart'; @@ -98,7 +99,9 @@ class _ItemsForSaleFragmentState extends State { currentCategoryID == getSaleCategoriesList[index].categoryID ? const Icon(Icons.check_circle_rounded, color: MyColors.greenColor, size: 16.0) : Container(), ], ).expanded, - getSaleCategoriesList[index].title!.toText10() + AppState().isArabic(context) + ?getSaleCategoriesList[index].titleAr!.toText10() + :getSaleCategoriesList[index].title!.toText10() ], ).paddingOnly(left: 10, right: 10, bottom: 10, top: 12).expanded.objectContainerView(disablePadding: true), ),