Merge branch 'development_sultan' into 'master'

Development sultan

See merge request mirza.shafique/mohem_flutter_app!49
merge-requests/1/merge
Sikander Saleem 2 years ago
commit fabb847fd8

@ -325,8 +325,11 @@
"completeProfile": "الملف الشخصي الكامل", "completeProfile": "الملف الشخصي الكامل",
"personalInformation": "معلومات شخصية", "personalInformation": "معلومات شخصية",
"basicDetails": "تفاصيل أساسية", "basicDetails": "تفاصيل أساسية",
"address": "تبوك",
"contactDetails": "بيانات التواصل", "contactDetails": "بيانات التواصل",
"familyDetails": "تفاصيل عائلية" "familyDetails": "تفاصيل عائلية",
"effectiveDate": "تاريخ النفاذ",
"country": "دولة"
}, },
"clicked": { "clicked": {
"zero": "You clicked {} times!", "zero": "You clicked {} times!",

@ -325,8 +325,11 @@
"completeProfile": "Complete Profile", "completeProfile": "Complete Profile",
"personalInformation": "Personal Information", "personalInformation": "Personal Information",
"basicDetails": "Basic Details", "basicDetails": "Basic Details",
"address": "Address",
"contactDetails": "Contact Details", "contactDetails": "Contact Details",
"familyDetails": "Family Members" "familyDetails": "Family Members",
"effectiveDate": "Effective Date",
"country": "Country"
}, },
"clicked": { "clicked": {
"zero": "You clicked {} times!", "zero": "You clicked {} times!",

@ -10,10 +10,17 @@ import 'package:mohem_flutter_app/models/get_employee_address_model.dart';
import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart'; import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart';
import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart'; import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart';
import 'package:mohem_flutter_app/models/get_employee_phones_model.dart'; import 'package:mohem_flutter_app/models/get_employee_phones_model.dart';
import 'package:mohem_flutter_app/models/profile/get_countries_list_model.dart';
import 'package:mohem_flutter_app/models/profile/phone_number_types_model.dart';
import 'package:mohem_flutter_app/models/profile/start_address_approval_process_model.dart';
import 'package:mohem_flutter_app/models/profile/submit_address_transaction.dart';
import 'package:mohem_flutter_app/models/profile/basic_details_dff_structure.dart'; import 'package:mohem_flutter_app/models/profile/basic_details_dff_structure.dart';
import 'package:mohem_flutter_app/models/profile/get_contact_clos_structure_list.dart'; import 'package:mohem_flutter_app/models/profile/get_contact_clos_structure_list.dart';
import 'package:mohem_flutter_app/models/profile/get_contact_details_list.dart'; import 'package:mohem_flutter_app/models/profile/get_contact_details_list.dart';
import 'package:mohem_flutter_app/models/profile/phone_number_types_modek.dart'; import 'package:mohem_flutter_app/models/profile/submit_basic_details_transaction_model.dart';
import 'package:mohem_flutter_app/models/profile/submit_contact_transaction_list_model.dart';
import 'package:mohem_flutter_app/models/profile/submit_phone_transactions.dart';
import 'package:mohem_flutter_app/models/start_phone_approval_process_model.dart';
import 'package:mohem_flutter_app/models/profile/submit_contact_transaction_list_model.dart'; import 'package:mohem_flutter_app/models/profile/submit_contact_transaction_list_model.dart';
import 'package:mohem_flutter_app/models/profile/submit_phone_transactions.dart'; import 'package:mohem_flutter_app/models/profile/submit_phone_transactions.dart';
import 'package:mohem_flutter_app/models/start_eit_approval_process_model.dart'; import 'package:mohem_flutter_app/models/start_eit_approval_process_model.dart';
@ -91,7 +98,7 @@ class ProfileApiClient {
Future<GenericResponseModel> getDffStructure(String pFunctionName, String uRL, String requestType) async { Future<GenericResponseModel> getDffStructure(String pFunctionName, String uRL, String requestType) async {
String url = ApiConsts.erpRest + uRL; String url = ApiConsts.erpRest + uRL;
Map<String, dynamic> postParams = {"P_SELECTED_RESP_ID": -999, "P_MENU_TYPE": "E", "P_FUNCTION_NAME": pFunctionName, "P_REQUEST_TYPE": requestType}; Map<String, dynamic> postParams = {"P_SELECTED_RESP_ID": -999, "P_MENU_TYPE": "E", "P_REQUEST_TYPE": pFunctionName, "P_COUNTRY_CODE": "SA"};
postParams.addAll(AppState().postParamsJson); postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) { return await ApiClient().postJsonForObject((json) {
GenericResponseModel? responseData = GenericResponseModel.fromJson(json); GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
@ -139,24 +146,30 @@ class ProfileApiClient {
}, url, postParams); }, url, postParams);
} }
Future<SubmitContactTransactionList?> submetConatctTransaction(String pFunctionName,String actionType, int contactRelationId, String date,) async { Future<SubmitContactTransactionList?> submetConatctTransaction(
String pFunctionName,
String actionType,
int contactRelationId,
String date,
) async {
String url = "${ApiConsts.erpRest}SUBMIT_CONTACT_TRANSACTION"; String url = "${ApiConsts.erpRest}SUBMIT_CONTACT_TRANSACTION";
Map<String, dynamic> postParams = { Map<String, dynamic> postParams = {
"P_MENU_TYPE":"E", "P_MENU_TYPE": "E",
"P_SELECTED_RESP_ID":-999, "P_SELECTED_RESP_ID": -999,
"P_FUNCTION_NAME":pFunctionName, "P_FUNCTION_NAME": pFunctionName,
"EITTransactionTBL": "EITTransactionTBL": [
[{ {
"TRANSACTION_NUMBER":1, "TRANSACTION_NUMBER": 1,
"NAME":"DATE_END", "NAME": "DATE_END",
"VARCHAR2_VALUE":null, "VARCHAR2_VALUE": null,
"NUMBER_VALUE":null, "NUMBER_VALUE": null,
"DATE_VALUE":date, "DATE_VALUE": date,
}], }
"P_CONTACT_RELATIONSHIP_ID":contactRelationId, ],
"P_ACTION":actionType, "P_CONTACT_RELATIONSHIP_ID": contactRelationId,
"PayrollCodeStr":"CS", "P_ACTION": actionType,
"LegislationCodeStr":"SA", "PayrollCodeStr": "CS",
"LegislationCodeStr": "SA",
}; };
postParams.addAll(AppState().postParamsJson); postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) { return await ApiClient().postJsonForObject((json) {
@ -165,7 +178,7 @@ class ProfileApiClient {
}, url, postParams); }, url, postParams);
} }
Future<GetApprovesList?> getApproves(String action, String comments,int transactionId, String itemKey) async { Future<GetApprovesList?> getApproves(String action, String comments, int transactionId, String itemKey) async {
String url = "${ApiConsts.erpRest}GET_APPROVERS_LIST"; String url = "${ApiConsts.erpRest}GET_APPROVERS_LIST";
Map<String, dynamic> postParams = { Map<String, dynamic> postParams = {
"P_AME_TRANSACTION_TYPE": "SSHRMS", "P_AME_TRANSACTION_TYPE": "SSHRMS",
@ -178,7 +191,7 @@ class ProfileApiClient {
postParams.addAll(AppState().postParamsJson); postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) { return await ApiClient().postJsonForObject((json) {
GenericResponseModel? responseData = GenericResponseModel.fromJson(json); GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
// return responseData.getApprovesList; // return responseData.getApprovesList;
return (responseData.getApprovesList?.length ?? 0) > 0 ? responseData.getApprovesList!.first : null; return (responseData.getApprovesList?.length ?? 0) > 0 ? responseData.getApprovesList!.first : null;
}, url, postParams); }, url, postParams);
} }
@ -201,7 +214,7 @@ class ProfileApiClient {
}, url, postParams); }, url, postParams);
} }
Future<StartEitApprovalProcess?> startPhoneApprovalProcess(String action, String comments, String itemKey, int transactionId) async { Future<StartPhoneApprovalProcess?> startPhoneApprovalProcess(String action, String comments, String itemKey, int transactionId) async {
String url = "${ApiConsts.erpRest}START_PHONES_APPROVAL_PROCESS"; String url = "${ApiConsts.erpRest}START_PHONES_APPROVAL_PROCESS";
Map<String, dynamic> postParams = { Map<String, dynamic> postParams = {
"P_SELECTED_RESP_ID": -999, "P_SELECTED_RESP_ID": -999,
@ -214,18 +227,106 @@ class ProfileApiClient {
postParams.addAll(AppState().postParamsJson); postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) { return await ApiClient().postJsonForObject((json) {
GenericResponseModel? responseData = GenericResponseModel.fromJson(json); GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
return responseData.startEitApprovalProcess; return responseData.startPhonesApprovalProcessList;
}, url, postParams);
}
Future<StartAddressApprovalProcess?> startAddressApprovalProcess(String action, String comments, String itemKey, int transactionId) async {
String url = "${ApiConsts.erpRest}START_ADDRESS_APPROVAL_PROCESS";
Map<String, dynamic> postParams = {
"P_SELECTED_RESP_ID": -999,
"P_MENU_TYPE": "E",
"P_ACTION_MODE": action,
"P_COMMENTS": comments,
"P_ITEM_KEY": itemKey,
"P_TRANSACTION_ID": transactionId,
};
postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) {
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
return responseData.startAddressApprovalProcessList;
}, url, postParams);
}
Future<SubmitBasicDetailsTransactionList> submitBasicDetailsTransaction(String pDescFlexContextCode, String pFunctionName, List<Map<String, dynamic>> list, int correctOrNew) async {
String url = "${ApiConsts.erpRest}SUBMIT_BASIC_DET_TRANSACTION";
Map<String, dynamic> postParams = {
"P_SELECTED_RESP_ID": -999,
"P_MENU_TYPE": "E",
"P_FUNCTION_NAME": pFunctionName,
"P_ACTION_TYPE": correctOrNew == 1 ? 'CORRECT' : 'CHANGE',
//"EITTransactionTBL": list,
// "EITTransactionTBLModel": list,
};
postParams.addAll(AppState().postParamsJson);
print("postParams:$postParams");
postParams["EITTransactionTBL"] = list;
postParams["EITTransactionTBLModel"] = list;
return await ApiClient().postJsonForObject((json) {
GenericResponseModel responseData = GenericResponseModel.fromJson(json);
return responseData.submitBasicDetTransactionList!; //ESERVICESDV.fromJson(responseData.getDefaultValueList!.toJson());
}, url, postParams);
}
Future<StartAddressApprovalProcess?> startBasicDetailsApprovalProcess(String action, String comments, String itemKey, int transactionId) async {
String url = "${ApiConsts.erpRest}START_BASIC_DET_APPR_PROCESS";
Map<String, dynamic> postParams = {
"P_SELECTED_RESP_ID": -999,
"P_MENU_TYPE": "E",
"P_ACTION_MODE": action,
"P_COMMENTS": comments,
"P_ITEM_KEY": itemKey,
"P_TRANSACTION_ID": transactionId,
};
postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) {
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
return responseData.startAddressApprovalProcessList;
}, url, postParams);
}
Future<SubmitAddressTransaction> submitAddressTransaction(
String pDescFlexContextCode, String pFunctionName, List<Map<String, dynamic>> list, int correctOrNew, String countryCode, String effectiveDate) async {
String url = "${ApiConsts.erpRest}SUBMIT_ADDRESS_TRANSACTION";
Map<String, dynamic> postParams = {
"P_SELECTED_RESP_ID": -999,
"P_MENU_TYPE": "E",
"P_COUNTRY_CODE": countryCode, //"SA",
"P_DESC_FLEX_CONTEXT_CODE": "SA",
"P_FUNCTION_NAME": pFunctionName,
"P_ACTION": correctOrNew == 1 ? 'CORRECT' : 'NEW',
"P_EFFECTIVE_DATE": effectiveDate,
//"EITTransactionTBL": list,
// "EITTransactionTBLModel": list,
};
postParams.addAll(AppState().postParamsJson);
print("postParams:$postParams");
postParams["EITTransactionTBL"] = list;
// postParams["EITTransactionTBLModel"] = list;
return await ApiClient().postJsonForObject((json) {
GenericResponseModel responseData = GenericResponseModel.fromJson(json);
return responseData.submitAddressTransactionList!; //ESERVICESDV.fromJson(responseData.getDefaultValueList!.toJson());
}, url, postParams);
}
Future<List<GetCountriesListModel>> getCountriesList() async {
String url = "${ApiConsts.erpRest}GET_COUNTRIES";
Map<String, dynamic> postParams = {
"P_MENU_TYPE": "E",
"P_SELECTED_RESP_ID": -999,
};
postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) {
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
return responseData.getCountriesList ?? [];
}, url, postParams); }, url, postParams);
} }
// add & update family member // add & update family member
Future<List<GetBasicDetDffStructureList>> getBasicDetDffStructure() async { Future<List<GetBasicDetDffStructureList>> getBasicDetDffStructure() async {
String url = "${ApiConsts.erpRest}GET_BASIC_DET_DFF_STRUCTURE"; String url = "${ApiConsts.erpRest}GET_BASIC_DET_DFF_STRUCTURE";
Map<String, dynamic> postParams = { Map<String, dynamic> postParams = {"P_FUNCTION_NAME": "HR_PERINFO_SS", "P_MENU_TYPE": "E", "P_REQUEST_TYPE": "CONTACT", "P_SELECTED_RESP_ID": -999};
"P_FUNCTION_NAME": "HR_PERINFO_SS",
"P_MENU_TYPE": "E",
"P_REQUEST_TYPE": "CONTACT",
"P_SELECTED_RESP_ID": -999};
postParams.addAll(AppState().postParamsJson); postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) { return await ApiClient().postJsonForObject((json) {
GenericResponseModel? responseData = GenericResponseModel.fromJson(json); GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
@ -237,7 +338,7 @@ class ProfileApiClient {
Future<List<GetContactColsStructureList>> getContactColsStructureList(String actionType) async { Future<List<GetContactColsStructureList>> getContactColsStructureList(String actionType) async {
String url = "${ApiConsts.erpRest}GET_CONTACT_COLS_STRUCTURE"; String url = "${ApiConsts.erpRest}GET_CONTACT_COLS_STRUCTURE";
Map<String, dynamic> postParams = { Map<String, dynamic> postParams = {
"P_ACTION":actionType, "P_ACTION": actionType,
"P_FUNCTION_NAME": "HR_PERINFO_SS", "P_FUNCTION_NAME": "HR_PERINFO_SS",
}; };
postParams.addAll(AppState().postParamsJson); postParams.addAll(AppState().postParamsJson);
@ -247,13 +348,13 @@ class ProfileApiClient {
}, url, postParams); }, url, postParams);
} }
// update family member // update family member
Future<List<GetContactDetailsList>> getContactDetailsList(int contactRelationId) async { Future<List<GetContactDetailsList>> getContactDetailsList(int contactRelationId) async {
String url = "${ApiConsts.erpRest}GET_CONTACT_DETAILS"; String url = "${ApiConsts.erpRest}GET_CONTACT_DETAILS";
Map<String, dynamic> postParams = { Map<String, dynamic> postParams = {
"P_MENU_TYPE": "E", "P_MENU_TYPE": "E",
"P_SELECTED_RESP_ID": -999, "P_SELECTED_RESP_ID": -999,
"P_CONTACT_RELATIONSHIP_ID":contactRelationId, "P_CONTACT_RELATIONSHIP_ID": contactRelationId,
}; };
postParams.addAll(AppState().postParamsJson); postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) { return await ApiClient().postJsonForObject((json) {
@ -278,20 +379,20 @@ class ProfileApiClient {
}, url, postParams); }, url, postParams);
} }
Future<SubmitContactTransactionList?> submetConatctTransactionAddAndUpdate(String actionType, int relationId ,List<Map<String, dynamic>> list) async { Future<SubmitContactTransactionList?> submetConatctTransactionAddAndUpdate(String actionType, int relationId, List<Map<String, dynamic>> list) async {
String url = "${ApiConsts.erpRest}SUBMIT_CONTACT_TRANSACTION"; String url = "${ApiConsts.erpRest}SUBMIT_CONTACT_TRANSACTION";
Map<String, dynamic> postParams = { Map<String, dynamic> postParams = {
"P_MENU_TYPE": "E", "P_MENU_TYPE": "E",
"P_SELECTED_RESP_ID": -999, "P_SELECTED_RESP_ID": -999,
"P_FUNCTION_NAME":"HR_PERINFO_SS", "P_FUNCTION_NAME": "HR_PERINFO_SS",
"P_ACTION": actionType, "P_ACTION": actionType,
"P_CONTACT_RELATIONSHIP_ID": relationId, "P_CONTACT_RELATIONSHIP_ID": relationId,
}; };
postParams["EITTransactionTBL"] =list; postParams["EITTransactionTBL"] = list;
postParams.addAll(AppState().postParamsJson); postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) { return await ApiClient().postJsonForObject((json) {
GenericResponseModel? responseData = GenericResponseModel.fromJson(json); GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
return responseData.submitContactTransactionList; return responseData.submitContactTransactionList;
}, url, postParams); }, url, postParams);
} }
} }

@ -18,13 +18,13 @@ import 'package:mohem_flutter_app/ui/payslip/monthly_pay_slip_screen.dart';
import 'package:mohem_flutter_app/ui/profile/add_update_family_member.dart'; import 'package:mohem_flutter_app/ui/profile/add_update_family_member.dart';
import 'package:mohem_flutter_app/ui/profile/basic_details.dart'; import 'package:mohem_flutter_app/ui/profile/basic_details.dart';
import 'package:mohem_flutter_app/ui/profile/contact_details.dart'; import 'package:mohem_flutter_app/ui/profile/contact_details.dart';
import 'package:mohem_flutter_app/ui/profile/delete_family_member.dart'; import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_address_screen.dart';
import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_profile_screen.dart'; import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_basic_details_screen.dart';
import 'package:mohem_flutter_app/ui/profile/family_members.dart'; import 'package:mohem_flutter_app/ui/profile/family_members.dart';
import 'package:mohem_flutter_app/ui/profile/personal_info.dart'; import 'package:mohem_flutter_app/ui/profile/personal_info.dart';
import 'package:mohem_flutter_app/ui/screens/announcements/announcement_details.dart'; import 'package:mohem_flutter_app/ui/screens/announcements/announcement_details.dart';
import 'package:mohem_flutter_app/ui/screens/announcements/announcements.dart'; import 'package:mohem_flutter_app/ui/screens/announcements/announcements.dart';
import 'package:mohem_flutter_app/ui/profile/delete_family_member.dart';
// import 'package:mohem_flutter_app/ui/my_attendance/work_from_home_screen.dart'; // import 'package:mohem_flutter_app/ui/my_attendance/work_from_home_screen.dart';
import 'package:mohem_flutter_app/ui/screens/eit/add_eit.dart'; import 'package:mohem_flutter_app/ui/screens/eit/add_eit.dart';
import 'package:mohem_flutter_app/ui/screens/mowadhafhi/mowadhafhi_home.dart'; import 'package:mohem_flutter_app/ui/screens/mowadhafhi/mowadhafhi_home.dart';
@ -69,7 +69,7 @@ class AppRoutes {
//profile //profile
static const String addDynamicInputProfile = 'addDynamicInputProfile'; static const String addDynamicInputProfile = 'addDynamicInputProfile';
static const String addDynamicAddressScreen = 'addDynamicAddressProfile';
//Attendance //Attendance
static const String attendance = "/attendance"; static const String attendance = "/attendance";
static const String monthlyAttendance = "/monthlyAttendance"; static const String monthlyAttendance = "/monthlyAttendance";
@ -146,6 +146,8 @@ class AppRoutes {
dynamicScreen: (context) => DynamicListViewScreen(), dynamicScreen: (context) => DynamicListViewScreen(),
addDynamicInput: (context) => DynamicInputScreen(), addDynamicInput: (context) => DynamicInputScreen(),
addDynamicInputProfile: (context) => DynamicInputScreenProfile(), addDynamicInputProfile: (context) => DynamicInputScreenProfile(),
addDynamicAddressScreen: (context) => DynamicInputScreenAddress(),
deleteFamilyMember: (context) => DeleteFamilyMember(ModalRoute.of(context)!.settings.arguments as int), deleteFamilyMember: (context) => DeleteFamilyMember(ModalRoute.of(context)!.settings.arguments as int),
requestSubmitScreen: (context) => RequestSubmitScreen(), requestSubmitScreen: (context) => RequestSubmitScreen(),
addUpdateFamilyMember: (context) => AddUpdateFamilyMember(), addUpdateFamilyMember: (context) => AddUpdateFamilyMember(),

@ -338,8 +338,11 @@ class CodegenLoader extends AssetLoader{
"completeProfile": "الملف الشخصي الكامل", "completeProfile": "الملف الشخصي الكامل",
"personalInformation": "معلومات شخصية", "personalInformation": "معلومات شخصية",
"basicDetails": "تفاصيل أساسية", "basicDetails": "تفاصيل أساسية",
"address": "تبوك",
"contactDetails": "بيانات التواصل", "contactDetails": "بيانات التواصل",
"familyDetails": "تفاصيل عائلية" "familyDetails": "تفاصيل عائلية",
"effectiveDate": "تاريخ النفاذ",
"country": "دولة"
}, },
"clicked": { "clicked": {
"zero": "You clicked {} times!", "zero": "You clicked {} times!",
@ -683,8 +686,11 @@ static const Map<String,dynamic> en_US = {
"completeProfile": "Complete Profile", "completeProfile": "Complete Profile",
"personalInformation": "Personal Information", "personalInformation": "Personal Information",
"basicDetails": "Basic Details", "basicDetails": "Basic Details",
"address": "Address",
"contactDetails": "Contact Details", "contactDetails": "Contact Details",
"familyDetails": "Family Members" "familyDetails": "Family Members",
"effectiveDate": "Effective Date",
"country": "Country"
}, },
"clicked": { "clicked": {
"zero": "You clicked {} times!", "zero": "You clicked {} times!",

@ -324,8 +324,11 @@ abstract class LocaleKeys {
static const profile_completeProfile = 'profile.completeProfile'; static const profile_completeProfile = 'profile.completeProfile';
static const profile_personalInformation = 'profile.personalInformation'; static const profile_personalInformation = 'profile.personalInformation';
static const profile_basicDetails = 'profile.basicDetails'; static const profile_basicDetails = 'profile.basicDetails';
static const profile_address = 'profile.address';
static const profile_contactDetails = 'profile.contactDetails'; static const profile_contactDetails = 'profile.contactDetails';
static const profile_familyDetails = 'profile.familyDetails'; static const profile_familyDetails = 'profile.familyDetails';
static const profile_effectiveDate = 'profile.effectiveDate';
static const profile_country = 'profile.country';
static const profile = 'profile'; static const profile = 'profile';
static const clicked = 'clicked'; static const clicked = 'clicked';
static const gender_with_arg = 'gender.with_arg'; static const gender_with_arg = 'gender.with_arg';

@ -54,11 +54,17 @@ import 'package:mohem_flutter_app/models/pending_transactions/get_req_functions.
import 'package:mohem_flutter_app/models/privilege_list_model.dart'; import 'package:mohem_flutter_app/models/privilege_list_model.dart';
import 'package:mohem_flutter_app/models/profile/basic_details_cols_structions.dart'; import 'package:mohem_flutter_app/models/profile/basic_details_cols_structions.dart';
import 'package:mohem_flutter_app/models/profile/basic_details_dff_structure.dart'; import 'package:mohem_flutter_app/models/profile/basic_details_dff_structure.dart';
import 'package:mohem_flutter_app/models/profile/get_address_dff_structure_list.dart';
import 'package:mohem_flutter_app/models/profile/get_countries_list_model.dart';
import 'package:mohem_flutter_app/models/profile/phone_number_types_model.dart';
import 'package:mohem_flutter_app/models/profile/start_address_approval_process_model.dart';
import 'package:mohem_flutter_app/models/profile/submit_address_transaction.dart';
import 'package:mohem_flutter_app/models/profile/get_contact_clos_structure_list.dart'; import 'package:mohem_flutter_app/models/profile/get_contact_clos_structure_list.dart';
import 'package:mohem_flutter_app/models/profile/get_contact_details_list.dart'; import 'package:mohem_flutter_app/models/profile/get_contact_details_list.dart';
import 'package:mohem_flutter_app/models/profile/phone_number_types_modek.dart'; import 'package:mohem_flutter_app/models/profile/submit_basic_details_transaction_model.dart';
import 'package:mohem_flutter_app/models/profile/submit_contact_transaction_list_model.dart'; import 'package:mohem_flutter_app/models/profile/submit_contact_transaction_list_model.dart';
import 'package:mohem_flutter_app/models/start_eit_approval_process_model.dart'; import 'package:mohem_flutter_app/models/start_eit_approval_process_model.dart';
import 'package:mohem_flutter_app/models/start_phone_approval_process_model.dart';
import 'package:mohem_flutter_app/models/submit_eit_transaction_list_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/subordinates_on_leaves_model.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_item_type_notifications_list_model.dart';
@ -117,7 +123,7 @@ class GenericResponseModel {
String? companyImageDescription; String? companyImageDescription;
String? companyImageURL; String? companyImageURL;
String? companyMainCompany; String? companyMainCompany;
String? countryList; List<GetCountriesListModel>? countryList;
String? createVacationRuleList; String? createVacationRuleList;
String? deleteAttachmentList; String? deleteAttachmentList;
String? deleteVacationRuleList; String? deleteVacationRuleList;
@ -131,7 +137,7 @@ class GenericResponseModel {
List<String>? getAbsenceTransactionList; List<String>? getAbsenceTransactionList;
List<GetAccrualBalancesList>? getAccrualBalancesList; List<GetAccrualBalancesList>? getAccrualBalancesList;
List<GetActionHistoryList>? getActionHistoryList; List<GetActionHistoryList>? getActionHistoryList;
List<String>? getAddressDffStructureList; List<GetAddressDffStructureList>? getAddressDffStructureList;
List<String>? getAddressNotificationBodyList; List<String>? getAddressNotificationBodyList;
List<GetApprovesList>? getApprovesList; List<GetApprovesList>? getApprovesList;
List<GetAttachementList>? getAttachementList; List<GetAttachementList>? getAttachementList;
@ -151,7 +157,7 @@ class GenericResponseModel {
List<GetContactDetailsList>? getContactDetailsList; List<GetContactDetailsList>? getContactDetailsList;
List<GetContactDffStructureList>? getContactDffStructureList; List<GetContactDffStructureList>? getContactDffStructureList;
GetContactNotificationBodyList? getContactNotificationBodyList; GetContactNotificationBodyList? getContactNotificationBodyList;
List<String>? getCountriesList; List<GetCountriesListModel>? getCountriesList;
List<GetDayHoursTypeDetailsList>? getDayHoursTypeDetailsList; List<GetDayHoursTypeDetailsList>? getDayHoursTypeDetailsList;
List<GetDeductionsList>? getDeductionsList; List<GetDeductionsList>? getDeductionsList;
GetDefaultValueList? getDefaultValueList; GetDefaultValueList? getDefaultValueList;
@ -295,17 +301,17 @@ class GenericResponseModel {
String? sFHGetPoNotificationBodyList; String? sFHGetPoNotificationBodyList;
String? sFHGetPrNotificationBodyList; String? sFHGetPrNotificationBodyList;
String? startAbsenceApprovalProccess; String? startAbsenceApprovalProccess;
String? startAddressApprovalProcessList; StartAddressApprovalProcess? startAddressApprovalProcessList;
String? startBasicDetApprProcessList; String? startBasicDetApprProcessList;
String? startCeiApprovalProcess; String? startCeiApprovalProcess;
String? startContactApprovalProcessList; String? startContactApprovalProcessList;
StartEitApprovalProcess? startEitApprovalProcess; StartEitApprovalProcess? startEitApprovalProcess;
String? startHrApprovalProcessList; String? startHrApprovalProcessList;
String? startPhonesApprovalProcessList; StartPhoneApprovalProcess? startPhonesApprovalProcessList;
String? startSitApprovalProcess; String? startSitApprovalProcess;
String? startTermApprovalProcessList; String? startTermApprovalProcessList;
String? submitAddressTransactionList; SubmitAddressTransaction? submitAddressTransactionList;
String? submitBasicDetTransactionList; SubmitBasicDetailsTransactionList? submitBasicDetTransactionList;
String? submitCEITransactionList; String? submitCEITransactionList;
String? submitCcpTransactionList; String? submitCcpTransactionList;
SubmitContactTransactionList? submitContactTransactionList; SubmitContactTransactionList? submitContactTransactionList;
@ -649,7 +655,13 @@ class GenericResponseModel {
companyImageDescription = json['CompanyImageDescription']; companyImageDescription = json['CompanyImageDescription'];
companyImageURL = json['CompanyImageURL']; companyImageURL = json['CompanyImageURL'];
companyMainCompany = json['CompanyMainCompany']; companyMainCompany = json['CompanyMainCompany'];
countryList = json['CountryList'];
if (json['CountryList'] != null) {
countryList = <GetCountriesListModel>[];
json['CountryList'].forEach((v) {
countryList!.add(new GetCountriesListModel.fromJson(v));
});
}
createVacationRuleList = json['CreateVacationRuleList']; createVacationRuleList = json['CreateVacationRuleList'];
deleteAttachmentList = json['DeleteAttachmentList']; deleteAttachmentList = json['DeleteAttachmentList'];
deleteVacationRuleList = json['DeleteVacationRuleList']; deleteVacationRuleList = json['DeleteVacationRuleList'];
@ -677,7 +689,12 @@ class GenericResponseModel {
}); });
} }
getAddressDffStructureList = json['GetAddressDffStructureList']; if (json['GetAddressDffStructureList'] != null) {
getAddressDffStructureList = <GetAddressDffStructureList>[];
json['GetAddressDffStructureList'].forEach((v) {
getAddressDffStructureList!.add(new GetAddressDffStructureList.fromJson(v));
});
}
getAddressNotificationBodyList = json['GetAddressNotificationBodyList']; getAddressNotificationBodyList = json['GetAddressNotificationBodyList'];
if (json['GetApprovesList'] != null) { if (json['GetApprovesList'] != null) {
@ -742,7 +759,14 @@ class GenericResponseModel {
}); });
} }
getContactNotificationBodyList = json["GetContactNotificationBodyList"] == null ? null : GetContactNotificationBodyList.fromJson(json["GetContactNotificationBodyList"]); getContactNotificationBodyList = json["GetContactNotificationBodyList"] == null ? null : GetContactNotificationBodyList.fromJson(json["GetContactNotificationBodyList"]);
getCountriesList = json['GetCountriesList'];
if (json['GetCountriesList'] != null) {
getCountriesList = <GetCountriesListModel>[];
json['GetCountriesList'].forEach((v) {
getCountriesList!.add(new GetCountriesListModel.fromJson(v));
});
}
if (json['GetDayHoursTypeDetailsList'] != null) { if (json['GetDayHoursTypeDetailsList'] != null) {
getDayHoursTypeDetailsList = <GetDayHoursTypeDetailsList>[]; getDayHoursTypeDetailsList = <GetDayHoursTypeDetailsList>[];
json['GetDayHoursTypeDetailsList'].forEach((v) { json['GetDayHoursTypeDetailsList'].forEach((v) {
@ -1146,18 +1170,21 @@ class GenericResponseModel {
sFHGetPoNotificationBodyList = json['SFH_GetPoNotificationBodyList']; sFHGetPoNotificationBodyList = json['SFH_GetPoNotificationBodyList'];
sFHGetPrNotificationBodyList = json['SFH_GetPrNotificationBodyList']; sFHGetPrNotificationBodyList = json['SFH_GetPrNotificationBodyList'];
startAbsenceApprovalProccess = json['StartAbsenceApprovalProccess']; startAbsenceApprovalProccess = json['StartAbsenceApprovalProccess'];
startAddressApprovalProcessList = json['StartAddressApprovalProcessList']; startAddressApprovalProcessList = json['StartAddressApprovalProcessList'] != null ? new StartAddressApprovalProcess.fromJson(json['StartAddressApprovalProcessList']) : null;
startBasicDetApprProcessList = json['StartBasicDetApprProcessList']; startBasicDetApprProcessList = json['StartBasicDetApprProcessList'];
startCeiApprovalProcess = json['StartCeiApprovalProcess']; startCeiApprovalProcess = json['StartCeiApprovalProcess'];
startContactApprovalProcessList = json['StartContactApprovalProcessList']; startContactApprovalProcessList = json['StartContactApprovalProcessList'];
startEitApprovalProcess = json['StartEitApprovalProcess'] != null ? new StartEitApprovalProcess.fromJson(json['StartEitApprovalProcess']) : null; startEitApprovalProcess = json['StartEitApprovalProcess'] != null ? new StartEitApprovalProcess.fromJson(json['StartEitApprovalProcess']) : null;
startHrApprovalProcessList = json['StartHrApprovalProcessList']; startHrApprovalProcessList = json['StartHrApprovalProcessList'];
startPhonesApprovalProcessList = json['StartPhonesApprovalProcessList'];
startPhonesApprovalProcessList = json['StartPhonesApprovalProcessList'] != null ? new StartPhoneApprovalProcess.fromJson(json['startPhonesApprovalProcessList']) : null;
startSitApprovalProcess = json['StartSitApprovalProcess']; startSitApprovalProcess = json['StartSitApprovalProcess'];
startTermApprovalProcessList = json['StartTermApprovalProcessList']; startTermApprovalProcessList = json['StartTermApprovalProcessList'];
submitAddressTransactionList = json['SubmitAddressTransactionList'];
submitBasicDetTransactionList = json['SubmitBasicDetTransactionList']; submitAddressTransactionList = json['SubmitAddressTransactionList'] != null ? new SubmitAddressTransaction.fromJson(json['SubmitAddressTransactionList']) : null;
submitBasicDetTransactionList = json['SubmitBasicDetTransactionList'] != null ? new SubmitBasicDetailsTransactionList.fromJson(json['SubmitBasicDetTransactionList']) : null;
submitCEITransactionList = json['SubmitCEITransactionList']; submitCEITransactionList = json['SubmitCEITransactionList'];
submitCcpTransactionList = json['SubmitCcpTransactionList']; submitCcpTransactionList = json['SubmitCcpTransactionList'];
submitContactTransactionList = json['SubmitContactTransactionList'] != null ? new SubmitContactTransactionList.fromJson(json['SubmitContactTransactionList']) : null; submitContactTransactionList = json['SubmitContactTransactionList'] != null ? new SubmitContactTransactionList.fromJson(json['SubmitContactTransactionList']) : null;
@ -1264,7 +1291,9 @@ class GenericResponseModel {
data['CompanyImageDescription'] = this.companyImageDescription; data['CompanyImageDescription'] = this.companyImageDescription;
data['CompanyImageURL'] = this.companyImageURL; data['CompanyImageURL'] = this.companyImageURL;
data['CompanyMainCompany'] = this.companyMainCompany; data['CompanyMainCompany'] = this.companyMainCompany;
data['CountryList'] = this.countryList; if (this.countryList != null) {
data['CountryList'] = this.countryList!.map((v) => v.toJson()).toList();
}
data['CreateVacationRuleList'] = this.createVacationRuleList; data['CreateVacationRuleList'] = this.createVacationRuleList;
data['DeleteAttachmentList'] = this.deleteAttachmentList; data['DeleteAttachmentList'] = this.deleteAttachmentList;
data['DeleteVacationRuleList'] = this.deleteVacationRuleList; data['DeleteVacationRuleList'] = this.deleteVacationRuleList;
@ -1564,8 +1593,14 @@ class GenericResponseModel {
data['StartPhonesApprovalProcessList'] = this.startPhonesApprovalProcessList; data['StartPhonesApprovalProcessList'] = this.startPhonesApprovalProcessList;
data['StartSitApprovalProcess'] = this.startSitApprovalProcess; data['StartSitApprovalProcess'] = this.startSitApprovalProcess;
data['StartTermApprovalProcessList'] = this.startTermApprovalProcessList; data['StartTermApprovalProcessList'] = this.startTermApprovalProcessList;
data['SubmitAddressTransactionList'] = this.submitAddressTransactionList;
data['SubmitBasicDetTransactionList'] = this.submitBasicDetTransactionList; if (this.submitAddressTransactionList != null) {
data['SubmitAddressTransactionList'] = this.submitAddressTransactionList!.toJson();
}
if (this.submitBasicDetTransactionList != null) {
data['SubmitBasicDetTransactionList'] = this.submitBasicDetTransactionList!.toJson();
}
data['SubmitCEITransactionList'] = this.submitCEITransactionList; data['SubmitCEITransactionList'] = this.submitCEITransactionList;
data['SubmitCcpTransactionList'] = this.submitCcpTransactionList; data['SubmitCcpTransactionList'] = this.submitCcpTransactionList;
data['SubmitContactTransactionList'] = this.submitContactTransactionList; data['SubmitContactTransactionList'] = this.submitContactTransactionList;

@ -0,0 +1,189 @@
import 'package:mohem_flutter_app/models/get_eit_dff_structure_list_model.dart';
import 'package:mohem_flutter_app/models/get_employee_address_model.dart';
class GetAddressDffStructureList {
String? aLPHANUMERICALLOWEDFLAG;
String? aPPLICATIONCOLUMNNAME;
String? cHILDSEGMENTSVS;
Null? cHILDSEGMENTSVSSplited;
String? dEFAULTTYPE;
String? dEFAULTVALUE;
String? dESCFLEXCONTEXTCODE;
String? dESCFLEXCONTEXTNAME;
String? dESCFLEXNAME;
String? dISPLAYFLAG;
String? eNABLEDFLAG;
ESERVICESDV? eSERVICESDV;
List<ESERVICESVS>? eSERVICESVS;
String? fLEXVALUESETNAME;
String? fORMATTYPE;
String? fORMATTYPEDSP;
bool? isEmptyOption;
String? lONGLISTFLAG;
int? mAXIMUMSIZE;
String? mAXIMUMVALUE;
String? mINIMUMVALUE;
String? mOBILEENABLED;
String? nUMBERPRECISION;
String? nUMERICMODEENABLEDFLAG;
String? pARENTSEGMENTSDV;
List<Null>? pARENTSEGMENTSDVSplited;
String? pARENTSEGMENTSVS;
List<Null>? pARENTSEGMENTSVSSplitedVS;
String? rEADONLY;
String? rEQUIREDFLAG;
String? sEGMENTNAME;
String? sEGMENTPROMPT;
int? sEGMENTSEQNUM;
String? uPPERCASEONLYFLAG;
String? uSEDFLAG;
String? vALIDATIONTYPE;
String? vALIDATIONTYPEDSP;
GetEmployeeAddressList? getEmployeeAddressList;
GetAddressDffStructureList(
{this.aLPHANUMERICALLOWEDFLAG,
this.aPPLICATIONCOLUMNNAME,
this.cHILDSEGMENTSVS,
this.cHILDSEGMENTSVSSplited,
this.dEFAULTTYPE,
this.dEFAULTVALUE,
this.dESCFLEXCONTEXTCODE,
this.dESCFLEXCONTEXTNAME,
this.dESCFLEXNAME,
this.dISPLAYFLAG,
this.eNABLEDFLAG,
this.eSERVICESDV,
this.eSERVICESVS,
this.fLEXVALUESETNAME,
this.fORMATTYPE,
this.fORMATTYPEDSP,
this.isEmptyOption,
this.lONGLISTFLAG,
this.mAXIMUMSIZE,
this.mAXIMUMVALUE,
this.mINIMUMVALUE,
this.mOBILEENABLED,
this.nUMBERPRECISION,
this.nUMERICMODEENABLEDFLAG,
this.pARENTSEGMENTSDV,
this.pARENTSEGMENTSDVSplited,
this.pARENTSEGMENTSVS,
this.pARENTSEGMENTSVSSplitedVS,
this.rEADONLY,
this.rEQUIREDFLAG,
this.sEGMENTNAME,
this.sEGMENTPROMPT,
this.sEGMENTSEQNUM,
this.uPPERCASEONLYFLAG,
this.uSEDFLAG,
this.vALIDATIONTYPE,
this.vALIDATIONTYPEDSP,
this.getEmployeeAddressList});
GetAddressDffStructureList.fromJson(Map<String, dynamic> json) {
aLPHANUMERICALLOWEDFLAG = json['ALPHANUMERIC_ALLOWED_FLAG'];
aPPLICATIONCOLUMNNAME = json['APPLICATION_COLUMN_NAME'];
cHILDSEGMENTSVS = json['CHILD_SEGMENTS_VS'];
cHILDSEGMENTSVSSplited = json['CHILD_SEGMENTS_VS_Splited'];
dEFAULTTYPE = json['DEFAULT_TYPE'];
dEFAULTVALUE = json['DEFAULT_VALUE'];
dESCFLEXCONTEXTCODE = json['DESC_FLEX_CONTEXT_CODE'];
dESCFLEXCONTEXTNAME = json['DESC_FLEX_CONTEXT_NAME'];
dESCFLEXNAME = json['DESC_FLEX_NAME'];
dISPLAYFLAG = json['DISPLAY_FLAG'];
eNABLEDFLAG = json['ENABLED_FLAG'];
eSERVICESDV = json['E_SERVICES_DV'] != null ? new ESERVICESDV.fromJson(json['E_SERVICES_DV']) : null;
if (json['E_SERVICES_VS'] != null) {
eSERVICESVS = <ESERVICESVS>[];
json['E_SERVICES_VS'].forEach((v) {
eSERVICESVS!.add(new ESERVICESVS.fromJson(v));
});
}
fLEXVALUESETNAME = json['FLEX_VALUE_SET_NAME'];
fORMATTYPE = json['FORMAT_TYPE'];
fORMATTYPEDSP = json['FORMAT_TYPE_DSP'];
isEmptyOption = json['IsEmptyOption'];
lONGLISTFLAG = json['LONGLIST_FLAG'];
mAXIMUMSIZE = json['MAXIMUM_SIZE'];
mAXIMUMVALUE = json['MAXIMUM_VALUE'];
mINIMUMVALUE = json['MINIMUM_VALUE'];
mOBILEENABLED = json['MOBILE_ENABLED'];
nUMBERPRECISION = json['NUMBER_PRECISION'];
nUMERICMODEENABLEDFLAG = json['NUMERIC_MODE_ENABLED_FLAG'];
pARENTSEGMENTSDV = json['PARENT_SEGMENTS_DV'];
if (json['PARENT_SEGMENTS_DV_Splited'] != null) {
pARENTSEGMENTSDVSplited = <Null>[];
json['PARENT_SEGMENTS_DV_Splited'].forEach((v) {
pARENTSEGMENTSDVSplited!.add(v);
});
}
pARENTSEGMENTSVS = json['PARENT_SEGMENTS_VS'];
if (json['PARENT_SEGMENTS_VS_SplitedVS'] != null) {
pARENTSEGMENTSVSSplitedVS = <Null>[];
json['PARENT_SEGMENTS_VS_SplitedVS'].forEach((v) {
pARENTSEGMENTSVSSplitedVS!.add(v);
});
}
rEADONLY = json['READ_ONLY'];
rEQUIREDFLAG = json['REQUIRED_FLAG'];
sEGMENTNAME = json['SEGMENT_NAME'];
sEGMENTPROMPT = json['SEGMENT_PROMPT'];
sEGMENTSEQNUM = json['SEGMENT_SEQ_NUM'];
uPPERCASEONLYFLAG = json['UPPERCASE_ONLY_FLAG'];
uSEDFLAG = json['USED_FLAG'];
vALIDATIONTYPE = json['VALIDATION_TYPE'];
vALIDATIONTYPEDSP = json['VALIDATION_TYPE_DSP'];
getEmployeeAddressList = json['GetEmployeeAddressList'] != null ? new GetEmployeeAddressList.fromJson(json['GetEmployeeAddressList']) : GetEmployeeAddressList();
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['ALPHANUMERIC_ALLOWED_FLAG'] = this.aLPHANUMERICALLOWEDFLAG;
data['APPLICATION_COLUMN_NAME'] = this.aPPLICATIONCOLUMNNAME;
data['CHILD_SEGMENTS_VS'] = this.cHILDSEGMENTSVS;
data['CHILD_SEGMENTS_VS_Splited'] = this.cHILDSEGMENTSVSSplited;
data['DEFAULT_TYPE'] = this.dEFAULTTYPE;
data['DEFAULT_VALUE'] = this.dEFAULTVALUE;
data['DESC_FLEX_CONTEXT_CODE'] = this.dESCFLEXCONTEXTCODE;
data['DESC_FLEX_CONTEXT_NAME'] = this.dESCFLEXCONTEXTNAME;
data['DESC_FLEX_NAME'] = this.dESCFLEXNAME;
data['DISPLAY_FLAG'] = this.dISPLAYFLAG;
data['ENABLED_FLAG'] = this.eNABLEDFLAG;
if (this.eSERVICESDV != null) {
data['E_SERVICES_DV'] = this.eSERVICESDV!.toJson();
}
if (this.eSERVICESVS != null) {
data['E_SERVICES_VS'] = this.eSERVICESVS!.map((v) => v.toJson()).toList();
}
data['FLEX_VALUE_SET_NAME'] = this.fLEXVALUESETNAME;
data['FORMAT_TYPE'] = this.fORMATTYPE;
data['FORMAT_TYPE_DSP'] = this.fORMATTYPEDSP;
data['IsEmptyOption'] = this.isEmptyOption;
data['LONGLIST_FLAG'] = this.lONGLISTFLAG;
data['MAXIMUM_SIZE'] = this.mAXIMUMSIZE;
data['MAXIMUM_VALUE'] = this.mAXIMUMVALUE;
data['MINIMUM_VALUE'] = this.mINIMUMVALUE;
data['MOBILE_ENABLED'] = this.mOBILEENABLED;
data['NUMBER_PRECISION'] = this.nUMBERPRECISION;
data['NUMERIC_MODE_ENABLED_FLAG'] = this.nUMERICMODEENABLEDFLAG;
data['PARENT_SEGMENTS_DV'] = this.pARENTSEGMENTSDV;
if (this.pARENTSEGMENTSDVSplited != null) {
data['PARENT_SEGMENTS_DV_Splited'] = this.pARENTSEGMENTSDVSplited!.map((v) => v).toList();
}
data['PARENT_SEGMENTS_VS'] = this.pARENTSEGMENTSVS;
if (this.pARENTSEGMENTSVSSplitedVS != null) {
data['PARENT_SEGMENTS_VS_SplitedVS'] = this.pARENTSEGMENTSVSSplitedVS!.map((v) => v).toList();
}
data['READ_ONLY'] = this.rEADONLY;
data['REQUIRED_FLAG'] = this.rEQUIREDFLAG;
data['SEGMENT_NAME'] = this.sEGMENTNAME;
data['SEGMENT_PROMPT'] = this.sEGMENTPROMPT;
data['SEGMENT_SEQ_NUM'] = this.sEGMENTSEQNUM;
data['UPPERCASE_ONLY_FLAG'] = this.uPPERCASEONLYFLAG;
data['USED_FLAG'] = this.uSEDFLAG;
data['VALIDATION_TYPE'] = this.vALIDATIONTYPE;
data['VALIDATION_TYPE_DSP'] = this.vALIDATIONTYPEDSP;
data['GetEmployeeAddressList'] != null ? this.getEmployeeAddressList!.toJson() : GetEmployeeAddressList();
return data;
}
}

@ -0,0 +1,18 @@
class GetCountriesListModel {
String? cOUNTRYCODE;
String? cOUNTRYNAME;
GetCountriesListModel({this.cOUNTRYCODE, this.cOUNTRYNAME});
GetCountriesListModel.fromJson(Map<String, dynamic> json) {
cOUNTRYCODE = json['COUNTRY_CODE'];
cOUNTRYNAME = json['COUNTRY_NAME'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['COUNTRY_CODE'] = this.cOUNTRYCODE;
data['COUNTRY_NAME'] = this.cOUNTRYNAME;
return data;
}
}

@ -0,0 +1,18 @@
class StartAddressApprovalProcess {
String? pRETURNMSG;
String? pRETURNSTATUS;
StartAddressApprovalProcess({this.pRETURNMSG, this.pRETURNSTATUS});
StartAddressApprovalProcess.fromJson(Map<String, dynamic> json) {
pRETURNMSG = json['P_RETURN_MSG'];
pRETURNSTATUS = json['P_RETURN_STATUS'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['P_RETURN_MSG'] = this.pRETURNMSG;
data['P_RETURN_STATUS'] = this.pRETURNSTATUS;
return data;
}
}

@ -0,0 +1,24 @@
class SubmitAddressTransaction {
String? pITEMKEY;
String? pRETURNMSG;
String? pRETURNSTATUS;
int? pTRANSACTIONID;
SubmitAddressTransaction({this.pITEMKEY, this.pRETURNMSG, this.pRETURNSTATUS, this.pTRANSACTIONID});
SubmitAddressTransaction.fromJson(Map<String, dynamic> json) {
pITEMKEY = json['P_ITEM_KEY'];
pRETURNMSG = json['P_RETURN_MSG'];
pRETURNSTATUS = json['P_RETURN_STATUS'];
pTRANSACTIONID = json['P_TRANSACTION_ID'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['P_ITEM_KEY'] = this.pITEMKEY;
data['P_RETURN_MSG'] = this.pRETURNMSG;
data['P_RETURN_STATUS'] = this.pRETURNSTATUS;
data['P_TRANSACTION_ID'] = this.pTRANSACTIONID;
return data;
}
}

@ -0,0 +1,24 @@
class SubmitBasicDetailsTransactionList {
String? pITEMKEY;
String? pRETURNMSG;
String? pRETURNSTATUS;
int? pTRANSACTIONID;
SubmitBasicDetailsTransactionList({this.pITEMKEY, this.pRETURNMSG, this.pRETURNSTATUS, this.pTRANSACTIONID});
SubmitBasicDetailsTransactionList.fromJson(Map<String, dynamic> json) {
pITEMKEY = json['P_ITEM_KEY'];
pRETURNMSG = json['P_RETURN_MSG'];
pRETURNSTATUS = json['P_RETURN_STATUS'];
pTRANSACTIONID = json['P_TRANSACTION_ID'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['P_ITEM_KEY'] = this.pITEMKEY;
data['P_RETURN_MSG'] = this.pRETURNMSG;
data['P_RETURN_STATUS'] = this.pRETURNSTATUS;
data['P_TRANSACTION_ID'] = this.pTRANSACTIONID;
return data;
}
}

@ -1,5 +1,6 @@
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart';
class ProfileMenu { class ProfileMenu {
final String name; final String name;
@ -8,5 +9,6 @@ class ProfileMenu {
final String dynamicUrl; final String dynamicUrl;
final String functionName; final String functionName;
final String requestID; final String requestID;
ProfileMenu({this.name = '', this.icon = '', this.route = '', this.dynamicUrl = '', this.functionName = '', this.requestID = ''}); final GetMenuEntriesList menuEntries;
ProfileMenu({this.name = '', this.icon = '', this.route = '', this.dynamicUrl = '', this.functionName = '', this.requestID = '', required this.menuEntries});
} }

@ -0,0 +1,18 @@
class StartPhoneApprovalProcess {
String? pRETURNMSG;
String? pRETURNSTATUS;
StartPhoneApprovalProcess({this.pRETURNMSG, this.pRETURNSTATUS});
StartPhoneApprovalProcess.fromJson(Map<String, dynamic> json) {
pRETURNMSG = json['P_RETURN_MSG'];
pRETURNSTATUS = json['P_RETURN_STATUS'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['P_RETURN_MSG'] = this.pRETURNMSG;
data['P_RETURN_STATUS'] = this.pRETURNSTATUS;
return data;
}
}

@ -92,13 +92,27 @@ class _RequestSubmitScreenState extends State<RequestSubmitScreen> {
params!.pItemId, params!.pItemId,
params!.transactionId, params!.transactionId,
); );
} else if(params!.approvalFlag == 'family_member') { } else if (params!.approvalFlag == 'address') {
await ProfileApiClient().startAddressApprovalProcess(
"SUBMIT",
comments.text,
params!.pItemId,
params!.transactionId,
);
} else if (params!.approvalFlag == 'family_member') {
await ProfileApiClient().getApproves( await ProfileApiClient().getApproves(
LocaleKeys.submit.tr(), LocaleKeys.submit.tr(),
comments.text, comments.text,
params!.transactionId!.toInt(), params!.transactionId!.toInt(),
params!.pItemId.toString(), params!.pItemId.toString(),
); );
} else if (params!.approvalFlag == 'basicDetails') {
await ProfileApiClient().startBasicDetailsApprovalProcess(
"SUBMIT",
comments.text,
params!.pItemId,
params!.transactionId,
);
} else { } else {
await MyAttendanceApiClient().startEitApprovalProcess( await MyAttendanceApiClient().startEitApprovalProcess(
LocaleKeys.submit.tr(), LocaleKeys.submit.tr(),

@ -36,7 +36,7 @@ class _AddUpdateFamilyMemberState extends State<AddUpdateFamilyMember> {
List<GetContactDetailsList?> getContactDetailsList = []; List<GetContactDetailsList?> getContactDetailsList = [];
SubmitContactTransactionList? submitContactTransactionList; SubmitContactTransactionList? submitContactTransactionList;
dynamic args; dynamic args;
String? date="MM/DD/YYYY"; String? date = "MM/DD/YYYY";
// String actionType = "UPDATE"; // String actionType = "UPDATE";
GetApprovesList? getApprovesList; GetApprovesList? getApprovesList;
@ -47,40 +47,36 @@ class _AddUpdateFamilyMemberState extends State<AddUpdateFamilyMember> {
super.initState(); super.initState();
} }
void callAddAndUpdateFamilyMember() async { void callAddAndUpdateFamilyMember() async {
try { try {
Utils.showLoading(context); Utils.showLoading(context);
getBasicDetDffStructureList = await ProfileApiClient().getBasicDetDffStructure(); getBasicDetDffStructureList = await ProfileApiClient().getBasicDetDffStructure();
getContactColsStructureList = await ProfileApiClient().getContactColsStructureList(args['actionType']); getContactColsStructureList = await ProfileApiClient().getContactColsStructureList(args['actionType']);
getContactDffStructureList = await ProfileApiClient().getContactDffStructureList(); getContactDffStructureList = await ProfileApiClient().getContactDffStructureList();
if(args['actionType']== "ADD"){ if (args['actionType'] == "ADD") {
getBasicDetDffStructureList?.forEach((element) {
getBasicDetDffStructureList?.forEach((element) { element?.getContactDetailsList = new GetContactDetailsList();
element?.getContactDetailsList = new GetContactDetailsList(); });
}); getContactColsStructureList?.forEach((element) {
getContactColsStructureList?.forEach((element) { element?.getContactDetailsList = new GetContactDetailsList();
element?.getContactDetailsList = new GetContactDetailsList(); });
}); getContactDffStructureList?.forEach((element) {
getContactDffStructureList?.forEach((element) { element?.getContactDetailsList = new GetContactDetailsList();
element?.getContactDetailsList = new GetContactDetailsList(); });
}); } else if (args['actionType'] == "UPDATE") {
} getContactDetailsList = await ProfileApiClient().getContactDetailsList(args['relationID']);
else if(args['actionType']== "UPDATE") {
getContactDetailsList = await ProfileApiClient().getContactDetailsList(args['relationID']);
getBasicDetDffStructureList?.forEach((element) { getBasicDetDffStructureList?.forEach((element) {
element?.getContactDetailsList = getContactDetailsList?.singleWhere((userDetail) => userDetail?.aPPLICATIONCOLUMNNAME == element?.aPPLICATIONCOLUMNNAME); element?.getContactDetailsList = getContactDetailsList?.singleWhere((userDetail) => userDetail?.aPPLICATIONCOLUMNNAME == element?.aPPLICATIONCOLUMNNAME);
}); });
getContactColsStructureList?.forEach((element) { getContactColsStructureList?.forEach((element) {
element?.getContactDetailsList = getContactDetailsList?.singleWhere((userDetail) => userDetail?.aPPLICATIONCOLUMNNAME == element?.aPPLICATIONCOLUMNNAME); element?.getContactDetailsList = getContactDetailsList?.singleWhere((userDetail) => userDetail?.aPPLICATIONCOLUMNNAME == element?.aPPLICATIONCOLUMNNAME);
}); });
getContactDffStructureList?.forEach((element) {
getContactDffStructureList?.forEach((element) { element?.getContactDetailsList = getContactDetailsList?.singleWhere((userDetail) => userDetail?.aPPLICATIONCOLUMNNAME == element?.aPPLICATIONCOLUMNNAME);
element?.getContactDetailsList = getContactDetailsList?.singleWhere((userDetail) => userDetail?.aPPLICATIONCOLUMNNAME == element?.aPPLICATIONCOLUMNNAME); });
}); }
}
Utils.hideLoading(context); Utils.hideLoading(context);
setState(() {}); setState(() {});
} catch (ex) { } catch (ex) {
@ -89,13 +85,11 @@ else if(args['actionType']== "UPDATE") {
} }
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (args == null) { if (args == null) {
args = ModalRoute.of(context)!.settings.arguments; args = ModalRoute.of(context)!.settings.arguments;
callAddAndUpdateFamilyMember(); callAddAndUpdateFamilyMember();
} }
return Scaffold( return Scaffold(
appBar: AppBarWidget( appBar: AppBarWidget(
@ -125,7 +119,7 @@ else if(args['actionType']== "UPDATE") {
}, },
separatorBuilder: (cxt, index) => 0.height, separatorBuilder: (cxt, index) => 0.height,
itemCount: getBasicDetDffStructureList!.length), itemCount: getBasicDetDffStructureList!.length),
ListView.separated( ListView.separated(
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true, shrinkWrap: true,
itemBuilder: (BuildContext cxt, int parentIndex) { itemBuilder: (BuildContext cxt, int parentIndex) {
@ -134,9 +128,9 @@ else if(args['actionType']== "UPDATE") {
separatorBuilder: (cxt, index) => 0.height, separatorBuilder: (cxt, index) => 0.height,
itemCount: getContactDffStructureList!.length), itemCount: getContactDffStructureList!.length),
]).expanded, ]).expanded,
SizedBox( SizedBox(
height: 50, height: 50,
), ),
], ],
) )
: args['flag'] == 2 : args['flag'] == 2
@ -194,14 +188,13 @@ else if(args['actionType']== "UPDATE") {
isEnable: false, isEnable: false,
isPopup: true, isPopup: true,
).paddingOnly(bottom: 12), ).paddingOnly(bottom: 12),
itemBuilder: (_) => itemBuilder: (_) => <PopupMenuItem<int>>[
<PopupMenuItem<int>>[ for (int i = 0; i < getContactColsStructureList[index]!.objectValuesList!.length; i++)
for (int i = 0; i < getContactColsStructureList[index]!.objectValuesList!.length; i++) PopupMenuItem<int>(child: Text(getContactColsStructureList[index]!.objectValuesList![i].mEANING.toString()), value: i),
PopupMenuItem<int>(child: Text(getContactColsStructureList[index]!.objectValuesList![i].mEANING.toString()), value: i), ],
],
onSelected: (int popupIndex) { onSelected: (int popupIndex) {
model.getContactDetailsList!.sEGMENTVALUEDSP = getContactColsStructureList[index]!.objectValuesList![popupIndex].mEANING.toString(); model.getContactDetailsList!.sEGMENTVALUEDSP = getContactColsStructureList[index]!.objectValuesList![popupIndex].mEANING.toString();
model.getContactDetailsList!.vARCHAR2VALUE = getContactColsStructureList[index]!.objectValuesList![popupIndex].cODE.toString(); model.getContactDetailsList!.vARCHAR2VALUE = getContactColsStructureList[index]!.objectValuesList![popupIndex].cODE.toString();
setState(() {}); setState(() {});
}); });
} else { } else {
@ -213,7 +206,7 @@ else if(args['actionType']== "UPDATE") {
}, },
).paddingOnly(bottom: 12); ).paddingOnly(bottom: 12);
} }
}else if (model.dATATYPE == "DATE") { } else if (model.dATATYPE == "DATE") {
return DynamicTextFieldWidget( return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model!.getContactDetailsList!.sEGMENTVALUEDSP ?? "", model!.getContactDetailsList!.sEGMENTVALUEDSP ?? "",
@ -245,12 +238,12 @@ else if(args['actionType']== "UPDATE") {
isPopup: true, isPopup: true,
).paddingOnly(bottom: 12), ).paddingOnly(bottom: 12),
itemBuilder: (_) => <PopupMenuItem<int>>[ itemBuilder: (_) => <PopupMenuItem<int>>[
for (int i = 0; i < getBasicDetDffStructureList[index]!.eSERVICESVS!.length; i++) for (int i = 0; i < getBasicDetDffStructureList[index]!.eSERVICESVS!.length; i++)
PopupMenuItem<int>(child: Text(getBasicDetDffStructureList[index]!.eSERVICESVS![i].vALUECOLUMNNAME.toString()), value: i), PopupMenuItem<int>(child: Text(getBasicDetDffStructureList[index]!.eSERVICESVS![i].vALUECOLUMNNAME.toString()), value: i),
], ],
onSelected: (int popupIndex) { onSelected: (int popupIndex) {
model.getContactDetailsList!.sEGMENTVALUEDSP = getBasicDetDffStructureList[index]!.eSERVICESVS![popupIndex].vALUECOLUMNNAME.toString(); model.getContactDetailsList!.sEGMENTVALUEDSP = getBasicDetDffStructureList[index]!.eSERVICESVS![popupIndex].vALUECOLUMNNAME.toString();
model.getContactDetailsList!.vARCHAR2VALUE = getBasicDetDffStructureList[index]!.eSERVICESVS![popupIndex].iDCOLUMNNAME.toString(); model.getContactDetailsList!.vARCHAR2VALUE = getBasicDetDffStructureList[index]!.eSERVICESVS![popupIndex].iDCOLUMNNAME.toString();
setState(() {}); setState(() {});
}); });
@ -263,7 +256,7 @@ else if(args['actionType']== "UPDATE") {
}, },
).paddingOnly(bottom: 12); ).paddingOnly(bottom: 12);
} }
}else if (model.fORMATTYPE == "X") { } else if (model.fORMATTYPE == "X") {
return DynamicTextFieldWidget( return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model!.getContactDetailsList!.sEGMENTVALUEDSP ?? "", model!.getContactDetailsList!.sEGMENTVALUEDSP ?? "",
@ -294,13 +287,13 @@ else if(args['actionType']== "UPDATE") {
isEnable: false, isEnable: false,
isPopup: true, isPopup: true,
).paddingOnly(bottom: 12), ).paddingOnly(bottom: 12),
itemBuilder: (_) => <PopupMenuItem<int>>[ itemBuilder: (_) => <PopupMenuItem<int>>[
for (int i = 0; i < getContactDffStructureList[index]!.eSERVICESVS!.length; i++) for (int i = 0; i < getContactDffStructureList[index]!.eSERVICESVS!.length; i++)
PopupMenuItem<int>(child: Text(getContactDffStructureList[index]!.eSERVICESVS![i].vALUECOLUMNNAME.toString()), value: i), PopupMenuItem<int>(child: Text(getContactDffStructureList[index]!.eSERVICESVS![i].vALUECOLUMNNAME.toString()), value: i),
], ],
onSelected: (int popupIndex) { onSelected: (int popupIndex) {
model.getContactDetailsList!.sEGMENTVALUEDSP = getContactDffStructureList[index]!.eSERVICESVS![popupIndex].vALUECOLUMNNAME.toString(); model.getContactDetailsList!.sEGMENTVALUEDSP = getContactDffStructureList[index]!.eSERVICESVS![popupIndex].vALUECOLUMNNAME.toString();
model.getContactDetailsList!.vARCHAR2VALUE = getContactDffStructureList[index]!.eSERVICESVS![popupIndex].iDCOLUMNNAME.toString(); model.getContactDetailsList!.vARCHAR2VALUE = getContactDffStructureList[index]!.eSERVICESVS![popupIndex].iDCOLUMNNAME.toString();
setState(() {}); setState(() {});
}); });
} else { } else {
@ -312,7 +305,7 @@ else if(args['actionType']== "UPDATE") {
}, },
).paddingOnly(bottom: 12); ).paddingOnly(bottom: 12);
} }
}else if (model.fORMATTYPE == "X") { } else if (model.fORMATTYPE == "X") {
return DynamicTextFieldWidget( return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model!.getContactDetailsList!.sEGMENTVALUEDSP ?? "", model!.getContactDetailsList!.sEGMENTVALUEDSP ?? "",
@ -353,7 +346,7 @@ else if(args['actionType']== "UPDATE") {
); );
} else { } else {
final DateTime? picked = final DateTime? picked =
await showDatePicker(context: context, initialDate: selectedDate, initialEntryMode: DatePickerEntryMode.calendarOnly, firstDate: DateTime(2015, 8), lastDate: DateTime(2101)); await showDatePicker(context: context, initialDate: selectedDate, initialEntryMode: DatePickerEntryMode.calendarOnly, firstDate: DateTime(2015, 8), lastDate: DateTime(2101));
if (picked != null && picked != selectedDate) { if (picked != null && picked != selectedDate) {
time = picked; time = picked;
} }
@ -391,85 +384,83 @@ else if(args['actionType']== "UPDATE") {
} }
void submitUpdateForm() async { void submitUpdateForm() async {
try { try {
List<Map<String, dynamic>> values1 = getBasicDetDffStructureList!.map((e) { List<Map<String, dynamic>> values1 = getBasicDetDffStructureList!.map((e) {
String? dateVal =''; String? dateVal = '';
String? vatcherVal =''; String? vatcherVal = '';
int? numberVal; int? numberVal;
if(e!.fORMATTYPE =='N'){ if (e!.fORMATTYPE == 'N') {
dateVal= null; dateVal = null;
vatcherVal= null; vatcherVal = null;
numberVal = e!.getContactDetailsList!.nUMBERVALUE; numberVal = e!.getContactDetailsList!.nUMBERVALUE;
} else if(e.fORMATTYPE =='X'){ } else if (e.fORMATTYPE == 'X') {
dateVal= e!.getContactDetailsList!.dATEVALUE.toString(); dateVal = e!.getContactDetailsList!.dATEVALUE.toString();
vatcherVal= null; vatcherVal = null;
numberVal = null; numberVal = null;
}else{ } else {
dateVal= null; dateVal = null;
vatcherVal= e!.getContactDetailsList!.vARCHAR2VALUE.toString(); vatcherVal = e!.getContactDetailsList!.vARCHAR2VALUE.toString();
numberVal = null; numberVal = null;
} }
return ValidateEitTransactionModel(dATEVALUE: dateVal, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberVal, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: vatcherVal.toString()).toJson(); return ValidateEitTransactionModel(dATEVALUE: dateVal, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberVal, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: vatcherVal.toString()).toJson();
}).toList(); }).toList();
List<Map<String, dynamic>> values2 = getContactDffStructureList!.map((e) { List<Map<String, dynamic>> values2 = getContactDffStructureList!.map((e) {
//String tempVar = e!.getContactDetailsList!.vARCHAR2VALUE ?? ""; //String tempVar = e!.getContactDetailsList!.vARCHAR2VALUE ?? "";
String? dateVal =''; String? dateVal = '';
String? vatcherVal =''; String? vatcherVal = '';
int? numberVal; int? numberVal;
if(e!.fORMATTYPE =='N'){ if (e!.fORMATTYPE == 'N') {
dateVal= null; dateVal = null;
vatcherVal= null; vatcherVal = null;
numberVal= e!.getContactDetailsList!.nUMBERVALUE; numberVal = e!.getContactDetailsList!.nUMBERVALUE;
} else if(e.fORMATTYPE =='X'){ } else if (e.fORMATTYPE == 'X') {
dateVal= e!.getContactDetailsList!.dATEVALUE.toString(); dateVal = e!.getContactDetailsList!.dATEVALUE.toString();
vatcherVal= null; vatcherVal = null;
numberVal= null; numberVal = null;
}else{ } else {
dateVal= null; dateVal = null;
numberVal= null; numberVal = null;
vatcherVal= e!.getContactDetailsList!.vARCHAR2VALUE.toString(); vatcherVal = e!.getContactDetailsList!.vARCHAR2VALUE.toString();
} }
return ValidateEitTransactionModel(dATEVALUE: dateVal, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberVal, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: vatcherVal.toString()).toJson(); return ValidateEitTransactionModel(dATEVALUE: dateVal, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberVal, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: vatcherVal.toString()).toJson();
}).toList(); }).toList();
List<Map<String, dynamic>> values3 = getContactColsStructureList!.map((e) { List<Map<String, dynamic>> values3 = getContactColsStructureList!.map((e) {
// String tempVar = e!.getContactDetailsList!.sEGMENTVALUEDSP ?? ""; // String tempVar = e!.getContactDetailsList!.sEGMENTVALUEDSP ?? "";
String? dateVal =''; String? dateVal = '';
String? vatcherVal =''; String? vatcherVal = '';
int? numberVal; int? numberVal;
if(e!.dATATYPE =='VARCHAR2'){ if (e!.dATATYPE == 'VARCHAR2') {
dateVal= null; dateVal = null;
numberVal= null; numberVal = null;
vatcherVal= e!.getContactDetailsList!.vARCHAR2VALUE.toString(); vatcherVal = e!.getContactDetailsList!.vARCHAR2VALUE.toString();
} else if(e.dATATYPE =='DATE'){ } else if (e.dATATYPE == 'DATE') {
dateVal= e!.getContactDetailsList!.dATEVALUE.toString(); dateVal = e!.getContactDetailsList!.dATEVALUE.toString();
vatcherVal= null; vatcherVal = null;
numberVal= null; numberVal = null;
}else if(e.dATATYPE =='NUMBER'){ } else if (e.dATATYPE == 'NUMBER') {
dateVal= null; dateVal = null;
vatcherVal= null; vatcherVal = null;
numberVal= e!.getContactDetailsList!.nUMBERVALUE; numberVal = e!.getContactDetailsList!.nUMBERVALUE;
}else{ } else {}
} return ValidateEitTransactionModel(dATEVALUE: dateVal, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberVal, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: vatcherVal.toString()).toJson();
return ValidateEitTransactionModel(dATEVALUE: dateVal, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberVal, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: vatcherVal.toString()).toJson(); }).toList();
}).toList(); List<Map<String, dynamic>> valuesFinal = [...values1, ...values2, ...values3];
List<Map<String, dynamic>> valuesFinal = [...values1, ...values2,...values3]; Utils.showLoading(context);
Utils.showLoading(context); if (args['actionType'] == "ADD") {
if(args['actionType']== "ADD") { var relationID = null;
var relationID = null; submitContactTransactionList = await ProfileApiClient().submetConatctTransactionAddAndUpdate(args['actionType'], relationID, valuesFinal);
submitContactTransactionList = await ProfileApiClient().submetConatctTransactionAddAndUpdate(args['actionType'], relationID, valuesFinal); } else if (args['actionType'] == "UPDATE") {
}else if(args['actionType']== "UPDATE"){ submitContactTransactionList = await ProfileApiClient().submetConatctTransactionAddAndUpdate(args['actionType'], args['relationID'], valuesFinal);
submitContactTransactionList = await ProfileApiClient().submetConatctTransactionAddAndUpdate(args['actionType'], args['relationID'], 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);
} }
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);
}
} }
} }

@ -1,15 +1,20 @@
import 'package:easy_localization/src/public_ext.dart'; import 'package:easy_localization/src/public_ext.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/api/profile_api_client.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/colors.dart';
import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/config/routes.dart'; import 'package:mohem_flutter_app/config/routes.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart';
import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart'; import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart';
import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_profile_screen.dart'; import 'package:mohem_flutter_app/models/member_information_list_model.dart';
import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart';
import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_basic_details_screen.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:mohem_flutter_app/widgets/button/default_button.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart';
import 'package:provider/provider.dart';
class BasicDetails extends StatefulWidget { class BasicDetails extends StatefulWidget {
const BasicDetails({Key? key}) : super(key: key); const BasicDetails({Key? key}) : super(key: key);
@ -26,12 +31,17 @@ class _BasicDetailsState extends State<BasicDetails> {
String? civilIdentityNumber = ""; String? civilIdentityNumber = "";
String? emailAddress = ""; String? emailAddress = "";
String? employeeNo = ""; String? employeeNo = "";
int correctOrNew = 1;
List<GetEmployeeBasicDetailsList> getEmployeeBasicDetailsList = []; List<GetEmployeeBasicDetailsList> getEmployeeBasicDetailsList = [];
late MemberInformationListModel memberInformationList;
GetMenuEntriesList menuEntries = GetMenuEntriesList();
@override @override
void initState() { void initState() {
super.initState(); super.initState();
memberInformationList = AppState().memberInformationList!;
List<GetMenuEntriesList> menuData = Provider.of<DashboardProviderModel>(context, listen: false).getMenuEntriesList!;
menuEntries = menuData.where((e) => e.requestType == 'BASIC_DETAILS').toList()[0];
getEmployeeBasicDetails(); getEmployeeBasicDetails();
basicDetails(); basicDetails();
} }
@ -127,14 +137,18 @@ class _BasicDetailsState extends State<BasicDetails> {
BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 3), BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 3),
], ],
), ),
child: DefaultButton(LocaleKeys.update.tr(), () async { child: DefaultButton(
showAlertDialog(context); LocaleKeys.update.tr(),
}).insideContainer, menuEntries.updateButton == 'Y'
? () async {
showAlertDialog(context);
}
: null)
.insideContainer,
); );
} }
void showAlertDialog(BuildContext context) { void showAlertDialog(BuildContext context) {
dynamic changeOrNew = 1;
Widget cancelButton = TextButton( Widget cancelButton = TextButton(
child: Text(LocaleKeys.cancel.tr()), child: Text(LocaleKeys.cancel.tr()),
onPressed: () { onPressed: () {
@ -168,10 +182,10 @@ class _BasicDetailsState extends State<BasicDetails> {
title: Text(LocaleKeys.correctCurrentDatails.tr()), title: Text(LocaleKeys.correctCurrentDatails.tr()),
leading: Radio( leading: Radio(
value: 1, value: 1,
groupValue: changeOrNew, groupValue: correctOrNew,
onChanged: (value) { onChanged: (value) {
setState(() { setState(() {
changeOrNew = int.parse(value.toString()); correctOrNew = int.parse(value.toString());
}); });
}, },
activeColor: Colors.green, activeColor: Colors.green,
@ -181,10 +195,10 @@ class _BasicDetailsState extends State<BasicDetails> {
title: Text(LocaleKeys.enterNewInfo.tr()), title: Text(LocaleKeys.enterNewInfo.tr()),
leading: Radio( leading: Radio(
value: 2, value: 2,
groupValue: changeOrNew, groupValue: correctOrNew,
onChanged: (value) { onChanged: (value) {
setState(() { setState(() {
changeOrNew = int.parse(value.toString()); correctOrNew = int.parse(value.toString());
}); });
}, },
activeColor: Colors.green, activeColor: Colors.green,
@ -212,6 +226,6 @@ class _BasicDetailsState extends State<BasicDetails> {
void continueDynamicForms() { void continueDynamicForms() {
Navigator.pushNamed(context, AppRoutes.addDynamicInputProfile, Navigator.pushNamed(context, AppRoutes.addDynamicInputProfile,
arguments: DynamicProfileParams(LocaleKeys.profile_basicDetails.tr(), 'HR_PERINFO_SS', arguments: DynamicProfileParams(LocaleKeys.profile_basicDetails.tr(), 'HR_PERINFO_SS',
uRL: 'GET_BASIC_DET_DFF_STRUCTURE', requestID: 'BASIC_DETAILS', getEmployeeBasicDetailsList: getEmployeeBasicDetailsList)); uRL: 'GET_BASIC_DET_DFF_STRUCTURE', requestID: 'BASIC_DETAILS', getEmployeeBasicDetailsList: getEmployeeBasicDetailsList, correctOrNew: correctOrNew));
} }
} }

@ -3,14 +3,20 @@ import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/api/profile_api_client.dart'; import 'package:mohem_flutter_app/api/profile_api_client.dart';
import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/config/routes.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart';
import 'package:mohem_flutter_app/models/get_employee_address_model.dart'; import 'package:mohem_flutter_app/models/get_employee_address_model.dart';
import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart';
import 'package:mohem_flutter_app/models/get_employee_phones_model.dart'; import 'package:mohem_flutter_app/models/get_employee_phones_model.dart';
import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart';
import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_address_screen.dart';
import 'package:mohem_flutter_app/ui/profile/phone_numbers.dart'; import 'package:mohem_flutter_app/ui/profile/phone_numbers.dart';
import 'package:mohem_flutter_app/ui/profile/profile.dart'; import 'package:mohem_flutter_app/ui/screens/profile/profile_screen.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:mohem_flutter_app/widgets/button/default_button.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart';
import 'package:provider/provider.dart';
class ContactDetails extends StatefulWidget { class ContactDetails extends StatefulWidget {
const ContactDetails({Key? key}) : super(key: key); const ContactDetails({Key? key}) : super(key: key);
@ -26,14 +32,20 @@ class _ContactDetailsState extends State<ContactDetails> {
String? civilIdentityNumber = ""; String? civilIdentityNumber = "";
String? emailAddress = ""; String? emailAddress = "";
String? employeeNo = ""; String? employeeNo = "";
int? correctOrNew = 1;
List<GetEmployeePhonesList> getEmployeePhonesList = []; List<GetEmployeePhonesList> getEmployeePhonesList = [];
List<GetEmployeeAddressList> getEmployeeAddressList = []; List<GetEmployeeAddressList> getEmployeeAddressList = [];
List<GetEmployeeBasicDetailsList> getEmployeeBasicDetailsList = [];
GetMenuEntriesList menuEntriesPhone = GetMenuEntriesList();
GetMenuEntriesList menuEntriesAddress = GetMenuEntriesList();
@override @override
void initState() { void initState() {
super.initState(); super.initState();
List<GetMenuEntriesList> menuData = Provider.of<DashboardProviderModel>(context, listen: false).getMenuEntriesList!;
menuEntriesPhone = menuData.where((GetMenuEntriesList e) => e.requestType == 'PHONE_NUMBERS').toList()[0];
menuEntriesAddress = menuData.where((GetMenuEntriesList e) => e.requestType == 'ADDRESS').toList()[0];
getEmployeePhones(); getEmployeePhones();
setState(() {}); setState(() {});
@ -71,7 +83,7 @@ class _ContactDetailsState extends State<ContactDetails> {
title: LocaleKeys.profile_contactDetails.tr(), title: LocaleKeys.profile_contactDetails.tr(),
), ),
backgroundColor: MyColors.backgroundColor, backgroundColor: MyColors.backgroundColor,
bottomSheet: footer(), // bottomSheet: footer(),
body: SingleChildScrollView( body: SingleChildScrollView(
child: Column(children: [ child: Column(children: [
Container( Container(
@ -100,15 +112,17 @@ class _ContactDetailsState extends State<ContactDetails> {
Row( Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
IconButton( menuEntriesPhone.updateButton == 'Y'
icon: Icon( ? IconButton(
Icons.edit_location_alt_outlined, icon: Icon(
size: 20, Icons.edit_location_alt_outlined,
), size: 20,
onPressed: () { ),
updatePhone(); onPressed: () {
}, updatePhone();
) },
)
: Container()
], ],
), ),
Column( Column(
@ -145,13 +159,17 @@ class _ContactDetailsState extends State<ContactDetails> {
Row( Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
IconButton( menuEntriesAddress.updateButton == 'Y'
icon: Icon( ? IconButton(
Icons.edit_location_alt_outlined, icon: Icon(
size: 20, Icons.edit_location_alt_outlined,
), size: 20,
onPressed: () {}, ),
) onPressed: () {
addUpdateAddress();
},
)
: Container()
], ],
), ),
Column( Column(
@ -180,7 +198,7 @@ class _ContactDetailsState extends State<ContactDetails> {
), ),
child: DefaultButton(LocaleKeys.update.tr(), () async { child: DefaultButton(LocaleKeys.update.tr(), () async {
// context.setLocale(const Locale("en", "US")); // to change Loacle // context.setLocale(const Locale("en", "US")); // to change Loacle
Profile(); ProfileScreen();
}).insideContainer, }).insideContainer,
); );
} }
@ -191,4 +209,85 @@ class _ContactDetailsState extends State<ContactDetails> {
MaterialPageRoute(builder: (context) => PhoneNumbers(getEmployeePhonesList: this.getEmployeePhonesList)), MaterialPageRoute(builder: (context) => PhoneNumbers(getEmployeePhonesList: this.getEmployeePhonesList)),
); );
} }
void addUpdateAddress() {
Widget cancelButton = TextButton(
child: Text("Cancel"),
onPressed: () {
Navigator.pop(context);
},
);
Widget continueButton = TextButton(
child: Text("Next"),
onPressed: () {
continueDynamicForms();
},
);
StatefulBuilder alert = StatefulBuilder(builder: (context, setState) {
return AlertDialog(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(10.0))),
title: Text("Confirm"),
content: Builder(builder: (context) {
// Get available height and width of the build area of this widget. Make a choice depending on the size.
var height = MediaQuery.of(context).size.height * .5;
return Container(
height: height,
child: Column(children: [
Text(
"Select the type of change you want to make.",
style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
),
Divider(),
Column(
children: [
ListTile(
title: Text("Correct or amend this address"),
leading: Radio(
value: 1,
groupValue: correctOrNew,
onChanged: (value) {
setState(() {
correctOrNew = int.parse(value.toString());
});
},
activeColor: Colors.green,
),
),
ListTile(
title: Text("Enter a new address if you have moved"),
leading: Radio(
value: 2,
groupValue: correctOrNew,
onChanged: (value) {
setState(() {
correctOrNew = int.parse(value.toString());
});
},
activeColor: Colors.green,
),
),
],
)
]));
}),
actions: [
cancelButton,
continueButton,
],
);
});
showDialog(
context: context,
builder: (BuildContext context) {
return alert;
},
);
}
void continueDynamicForms() {
Navigator.pushNamed(context, AppRoutes.addDynamicAddressScreen,
arguments: DynamicProfileParams(LocaleKeys.profile_address.tr(), 'HR_PERINFO_SS',
uRL: 'GET_ADDRESS_DFF_STRUCTURE', requestID: 'BASIC_DETAILS', getEmployeeAddressList: getEmployeeAddressList, correctOrNew: correctOrNew!));
}
} }

@ -1,50 +0,0 @@
import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
class DeleteFamilyMember extends StatefulWidget {
const DeleteFamilyMember({Key? key}) : super(key: key);
@override
_DeleteFamilyMemberState createState() => _DeleteFamilyMemberState();
}
class _DeleteFamilyMemberState extends State<DeleteFamilyMember> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBarWidget(
context,
title: "Dependents And Beneficiaries",
),
backgroundColor: MyColors.backgroundColor,
bottomSheet: footer(),
body: Column(
children: [],
));
}
Widget footer() {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
color: MyColors.gradiantEndColor,
// margin: EdgeInsets.only(left: 50,right: 20),
padding: EdgeInsets.only(left: 50, right: 50),
child: TextButton(
style: TextButton.styleFrom(
primary: MyColors.white,
onSurface: MyColors.white,
backgroundColor: MyColors.gradiantEndColor,
),
onPressed: () {},
child: Text(
'Next',
style: TextStyle(fontStyle: FontStyle.normal, fontSize: 16, color: Colors.white, fontWeight: FontWeight.w600),
),
)),
],
);
}
}

@ -26,9 +26,9 @@ class _DeleteFamilyMemberState extends State<DeleteFamilyMember> {
String pFunctionName = "HR_PERINFO_SS"; String pFunctionName = "HR_PERINFO_SS";
String actionType = "DELETE"; String actionType = "DELETE";
// int? contactRelationId; // int? contactRelationId;
String? date="MM/DD/YYYY"; String? date = "MM/DD/YYYY";
String? datePar; String? datePar;
// String? itemKey; // String? itemKey;
SubmitContactTransactionList? submitContactTransactionList; SubmitContactTransactionList? submitContactTransactionList;
GetApprovesList? getApprovesList; GetApprovesList? getApprovesList;
@ -44,11 +44,12 @@ class _DeleteFamilyMemberState extends State<DeleteFamilyMember> {
try { try {
Utils.showLoading(context); Utils.showLoading(context);
submitContactTransactionList = await ProfileApiClient().submetConatctTransaction(pFunctionName.toString(), actionType.toString(), widget.relationId!.toInt(), datePar.toString()); submitContactTransactionList = await ProfileApiClient().submetConatctTransaction(pFunctionName.toString(), actionType.toString(), widget.relationId!.toInt(), datePar.toString());
var transactionId = submitContactTransactionList!.pTRANSACTIONID; var transactionId = submitContactTransactionList!.pTRANSACTIONID;
var itemKey = submitContactTransactionList!.pITEMKEY; var itemKey = submitContactTransactionList!.pITEMKEY;
Utils.hideLoading(context); Utils.hideLoading(context);
// getApprovesList = await ProfileApiClient().getApproves(transactionId!.toInt(), itemKey.toString() ); // getApprovesList = await ProfileApiClient().getApproves(transactionId!.toInt(), itemKey.toString() );
Navigator.pushNamed(context, AppRoutes.requestSubmitScreen,arguments: RequestSubmitScreenParams(LocaleKeys.profile_familyDetails.tr(), transactionId!.toInt(), itemKey.toString(), 'family_member')); Navigator.pushNamed(context, AppRoutes.requestSubmitScreen,
arguments: RequestSubmitScreenParams(LocaleKeys.profile_familyDetails.tr(), transactionId!.toInt(), itemKey.toString(), 'family_member'));
setState(() {}); setState(() {});
} catch (ex) { } catch (ex) {
@ -74,9 +75,9 @@ class _DeleteFamilyMemberState extends State<DeleteFamilyMember> {
isEnable: false, isEnable: false,
onTap: () async { onTap: () async {
DateTime dateValue = await _selectDate(context); DateTime dateValue = await _selectDate(context);
// DateTime date1 = DateTime(dateValue.year, dateValue.month, dateValue.day); // DateTime date1 = DateTime(dateValue.year, dateValue.month, dateValue.day);
date = DateFormat('yyyy/MM/dd').format(dateValue); date = DateFormat('yyyy/MM/dd').format(dateValue);
datePar = DateFormat('yyyy/MM/dd hh:mm:ss').format(dateValue); datePar = DateFormat('yyyy/MM/dd hh:mm:ss').format(dateValue);
setState(() {}); setState(() {});
// if (date !=null) { // if (date !=null) {
// print(datePar); // print(datePar);
@ -96,7 +97,7 @@ class _DeleteFamilyMemberState extends State<DeleteFamilyMember> {
children: [ children: [
Container( Container(
color: MyColors.gradiantEndColor, color: MyColors.gradiantEndColor,
margin: EdgeInsets.only(bottom: 20, top: 20), margin: EdgeInsets.only(bottom: 20, top: 20),
padding: EdgeInsets.only(left: 50, right: 50), padding: EdgeInsets.only(left: 50, right: 50),
child: TextButton( child: TextButton(
style: TextButton.styleFrom( style: TextButton.styleFrom(
@ -106,7 +107,6 @@ class _DeleteFamilyMemberState extends State<DeleteFamilyMember> {
), ),
onPressed: () { onPressed: () {
deleteFamilyMember(datePar); deleteFamilyMember(datePar);
}, },
child: Text( child: Text(
LocaleKeys.next.tr(), LocaleKeys.next.tr(),

@ -0,0 +1,336 @@
import 'dart:io';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/api/my_attendance_api_client.dart';
import 'package:mohem_flutter_app/api/profile_api_client.dart';
import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/config/routes.dart';
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';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/dyanmic_forms/get_set_values_request_model.dart';
import 'package:mohem_flutter_app/models/dyanmic_forms/validate_eit_transaction_model.dart';
import 'package:mohem_flutter_app/models/generic_response_model.dart';
import 'package:mohem_flutter_app/models/get_eit_dff_structure_list_model.dart';
import 'package:mohem_flutter_app/models/get_employee_address_model.dart';
import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart';
import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart';
import 'package:mohem_flutter_app/models/profile/basic_details_cols_structions.dart';
import 'package:mohem_flutter_app/models/profile/basic_details_dff_structure.dart';
import 'package:mohem_flutter_app/models/profile/get_address_dff_structure_list.dart';
import 'package:mohem_flutter_app/models/profile/get_countries_list_model.dart';
import 'package:mohem_flutter_app/models/profile/submit_address_transaction.dart';
import 'package:mohem_flutter_app/ui/misc/request_submit_screen.dart';
import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:mohem_flutter_app/widgets/button/default_button.dart';
import 'package:mohem_flutter_app/widgets/dynamic_forms/dynamic_textfield_widget.dart';
class DynamicProfileParams {
String title;
String dynamicId;
String uRL;
String requestID;
String colsURL;
int correctOrNew;
List<GetEmployeeAddressList>? getEmployeeAddressList;
DynamicProfileParams(this.title, this.dynamicId,
{this.uRL = 'GET_EIT_DFF_STRUCTURE', this.requestID = '', this.colsURL = '', this.getEmployeeAddressList = const <GetEmployeeAddressList>[], this.correctOrNew = 2});
}
class DynamicInputScreenAddress extends StatefulWidget {
DynamicInputScreenAddress({Key? key}) : super(key: key);
@override
_DynamicInputScreenState createState() {
return _DynamicInputScreenState();
}
}
class _DynamicInputScreenState extends State<DynamicInputScreenAddress> {
GenericResponseModel? genericResponseModel;
List<GetAddressDffStructureList>? getAddressDffStructureList;
SubmitAddressTransaction submitPhoneNumbers = SubmitAddressTransaction();
DynamicProfileParams? dynamicParams;
List<GetCountriesListModel> countriesList = [];
String dESCFLEXCONTEXTCODE = "";
String countryCode = 'SA';
String effectiveDate = '';
@override
void initState() {
super.initState();
}
void getTransactionsStructure() async {
try {
Utils.showLoading(context);
genericResponseModel = await ProfileApiClient().getDffStructure(dynamicParams!.dynamicId, dynamicParams!.uRL, dynamicParams!.requestID);
getAddressDffStructureList = genericResponseModel?.getAddressDffStructureList ?? [];
if (dynamicParams!.correctOrNew == 1) {
getAddressDffStructureList?.forEach((element) {
dynamicParams!.getEmployeeAddressList!.forEach((userDetail) {
if (userDetail.aPPLICATIONCOLUMNNAME == element.aPPLICATIONCOLUMNNAME) {
element.getEmployeeAddressList = userDetail;
}
});
});
} else {
getAddressDffStructureList!.insert(0, GetAddressDffStructureList(fORMATTYPE: 'X', sEGMENTPROMPT: LocaleKeys.profile_effectiveDate.tr()));
countriesList = await ProfileApiClient().getCountriesList();
List<ESERVICESVS> eSerivceList = [];
countriesList.forEach((element) {
eSerivceList.add(ESERVICESVS(
dESCRIPTION: element.cOUNTRYCODE,
vALUECOLUMNNAME: element.cOUNTRYNAME,
));
});
getAddressDffStructureList!
.insert(1, GetAddressDffStructureList(fORMATTYPE: 'C', sEGMENTPROMPT: LocaleKeys.profile_country.tr(), eSERVICESVS: eSerivceList, getEmployeeAddressList: GetEmployeeAddressList()));
}
print(getAddressDffStructureList);
// genericResponseModel = await ProfileApiClient().getColStructure(dynamicParams!.dynamicId, 'GET_BASIC_DET_COLS_STRUCTURE', dynamicParams!.requestID);
// getBasicDetColsStructureList = genericResponseModel?.getBasicDetColsStructureList ?? [];
// getBasicDetColsStructureList?.forEach((element) {
// element.userBasicDetail = dynamicParams!.getEmployeeBasicDetailsList!.singleWhere((userDetail) => userDetail.aPPLICATIONCOLUMNNAME == element.aPPLICATIONCOLUMNNAME);
// });
Utils.hideLoading(context);
setState(() {});
} catch (ex) {
Utils.hideLoading(context);
Utils.handleException(ex, context, null);
}
}
void calGetValueSetValues(GetAddressDffStructureList structureList) async {
try {
Utils.showLoading(context);
String segmentId = structureList.cHILDSEGMENTSVS!;
List<GetAddressDffStructureList> filteredList = getAddressDffStructureList?.where((element) => element.cHILDSEGMENTSVS == segmentId).toList() ?? [];
List<Map<String, dynamic>> values = filteredList
.map((e) => GetSetValuesRequestModel(
sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME)
.toJson())
.toList();
ESERVICESVS genericResponseModel = await MyAttendanceApiClient().getValueSetValues(structureList.cHILDSEGMENTSVS!, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, values);
int index = getAddressDffStructureList!.indexWhere((element) => element.sEGMENTNAME == structureList.cHILDSEGMENTSVS);
getAddressDffStructureList![index].eSERVICESVS!.add(genericResponseModel);
// getEitDffStructureList = genericResponseModel?.getEITDFFStructureList ?? [];
//getEitDffStructureList = getEitDffStructureList!.where((element) => element.dISPLAYFLAG != "N").toList();
Utils.hideLoading(context);
setState(() {});
} catch (ex) {
Utils.hideLoading(context);
Utils.handleException(ex, context, null);
}
}
@override
void dispose() {
super.dispose();
}
@override
Widget build(BuildContext context) {
if (dynamicParams == null) {
dynamicParams = ModalRoute.of(context)!.settings.arguments as DynamicProfileParams;
getTransactionsStructure();
}
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBarWidget(
context,
title: dynamicParams!.title,
),
body: Column(
children: [
(getAddressDffStructureList == null
? const SizedBox()
: (getAddressDffStructureList!.isEmpty
? LocaleKeys.noDataAvailable.tr().toText16().center
: ListView(
physics: const BouncingScrollPhysics(),
padding: const EdgeInsets.all(21),
children: [
12.height,
ListView.separated(
physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemBuilder: (BuildContext cxt, int parentIndex) {
return parseDynamicFormatType(getAddressDffStructureList![parentIndex], parentIndex);
},
separatorBuilder: (cxt, index) => 0.height,
itemCount: getAddressDffStructureList!.length),
],
)))
.expanded,
// 12.height,
DefaultButton(
LocaleKeys.next.tr(),
(getAddressDffStructureList ?? []).isEmpty ? null : () => {validateTransaction()},
).insideContainer,
],
),
);
}
Widget parseDynamicFormatType(GetAddressDffStructureList model, int index) {
if (model.dISPLAYFLAG != "N") {
if (model.fORMATTYPE == "C") {
if (model.eSERVICESVS?.isNotEmpty ?? false) {
return PopupMenuButton(
child: DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model?.getEmployeeAddressList!.sEGMENTVALUEDSP ?? "",
isEnable: false,
isPopup: true,
).paddingOnly(bottom: 12),
itemBuilder: (_) => <PopupMenuItem<int>>[
for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!), value: i),
],
onSelected: (int popupIndex) {
model?.getEmployeeAddressList!.sEGMENTVALUEDSP = model.eSERVICESVS![popupIndex].vALUECOLUMNNAME;
model?.getEmployeeAddressList!.vARCHAR2VALUE = model.eSERVICESVS![popupIndex].dESCRIPTION;
setState(() {});
});
}
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.getEmployeeAddressList?.sEGMENTVALUEDSP ?? "",
isReadOnly: model.rEADONLY == "Y",
onChange: (text) {
model.getEmployeeAddressList?.sEGMENTVALUEDSP = text;
},
).paddingOnly(bottom: 12);
} else if (model.fORMATTYPE == "N") {
if (model.eSERVICESVS?.isNotEmpty ?? false) {
return PopupMenuButton(
child: DynamicTextFieldWidget((model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), model?.getEmployeeAddressList!.sEGMENTVALUEDSP ?? "",
isEnable: false, isPopup: true, isInputTypeNum: true)
.paddingOnly(bottom: 12),
itemBuilder: (_) => <PopupMenuItem<int>>[
for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(child: Text(model.eSERVICESVS![i].dESCRIPTION!), value: i),
],
onSelected: (int popupIndex) {
model?.getEmployeeAddressList!.sEGMENTVALUEDSP = model.eSERVICESVS![popupIndex].dESCRIPTION;
model?.getEmployeeAddressList!.vARCHAR2VALUE = model.eSERVICESVS![popupIndex].vALUECOLUMNNAME;
setState(() {});
});
}
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.getEmployeeAddressList?.sEGMENTVALUEDSP ?? "",
isReadOnly: model.rEADONLY == "Y",
onChange: (text) {
model.getEmployeeAddressList?.sEGMENTVALUEDSP = text;
},
).paddingOnly(bottom: 12);
} else if (model.fORMATTYPE == "X") {
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.eSERVICESDV?.pIDCOLUMNNAME ?? (getAddressDffStructureList![index].dESCFLEXCONTEXTNAME ?? ""),
suffixIconData: Icons.calendar_today,
isEnable: false,
onTap: () async {
DateTime date = await _selectDate(context);
DateTime date1 = DateTime(date.year, date.month, date.day);
getAddressDffStructureList![index].dESCFLEXCONTEXTNAME = date.toString();
ESERVICESDV eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: DateFormat('yyyy-MM-dd').format(date1),
pRETURNMSG: "null",
pRETURNSTATUS: getAddressDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME: DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
getAddressDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
calGetValueSetValues(model);
}
},
).paddingOnly(bottom: 12);
}
return const SizedBox();
} else {
return const SizedBox();
}
}
void validateTransaction() async {
try {
Utils.showLoading(context);
List<Map<String, dynamic>> values = getAddressDffStructureList!.map((e) {
String tempVar = '';
if (e.fORMATTYPE == "X") {
// for date format type, date format is changed
tempVar = e.eSERVICESDV?.pVALUECOLUMNNAME ?? "";
if (tempVar.isNotEmpty) {
DateTime date = DateFormat('yyyy-MM-dd').parse(tempVar);
tempVar = DateFormat('dd/MMM/yyy').format(date);
if (e.aPPLICATIONCOLUMNNAME == null) {
effectiveDate = tempVar;
}
}
} else if (e.eSERVICESVS?.isNotEmpty ?? false) {
tempVar = e.getEmployeeAddressList!.vARCHAR2VALUE!;
if (e.aPPLICATIONCOLUMNNAME == null) {
countryCode = tempVar;
}
} else {
tempVar = e.getEmployeeAddressList!.sEGMENTVALUEDSP ?? "";
}
return ValidateEitTransactionModel(dATEVALUE: null, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: null, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: tempVar.toString()).toJson();
}).toList();
submitPhoneNumbers = await ProfileApiClient().submitAddressTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values, dynamicParams!.correctOrNew, countryCode, effectiveDate);
print(values);
Utils.hideLoading(context);
Navigator.pushNamed(context, AppRoutes.requestSubmitScreen,
arguments: RequestSubmitScreenParams(dynamicParams!.title, submitPhoneNumbers.pTRANSACTIONID!, submitPhoneNumbers.pITEMKEY!, 'address'));
} catch (ex) {
Utils.hideLoading(context);
Utils.handleException(ex, context, null);
}
}
DateTime selectedDate = DateTime.now();
Future<DateTime> _selectDate(BuildContext context) async {
DateTime time = selectedDate;
if (!Platform.isIOS) {
await showCupertinoModalPopup(
context: context,
builder: (cxt) => Container(
height: 250,
color: Colors.white,
child: CupertinoDatePicker(
backgroundColor: Colors.white,
mode: CupertinoDatePickerMode.date,
onDateTimeChanged: (value) {
if (value != null && value != selectedDate) {
time = value;
}
},
initialDateTime: selectedDate,
),
),
);
} else {
final 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;
}
}
return time;
}
}

@ -19,6 +19,7 @@ import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart';
import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart'; import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart';
import 'package:mohem_flutter_app/models/profile/basic_details_cols_structions.dart'; import 'package:mohem_flutter_app/models/profile/basic_details_cols_structions.dart';
import 'package:mohem_flutter_app/models/profile/basic_details_dff_structure.dart'; import 'package:mohem_flutter_app/models/profile/basic_details_dff_structure.dart';
import 'package:mohem_flutter_app/models/profile/submit_basic_details_transaction_model.dart';
import 'package:mohem_flutter_app/ui/misc/request_submit_screen.dart'; import 'package:mohem_flutter_app/ui/misc/request_submit_screen.dart';
import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart'; import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
@ -31,10 +32,11 @@ class DynamicProfileParams {
String uRL; String uRL;
String requestID; String requestID;
String colsURL; String colsURL;
int correctOrNew;
List<GetEmployeeBasicDetailsList>? getEmployeeBasicDetailsList; List<GetEmployeeBasicDetailsList>? getEmployeeBasicDetailsList;
DynamicProfileParams(this.title, this.dynamicId, DynamicProfileParams(this.title, this.dynamicId,
{this.uRL = 'GET_EIT_DFF_STRUCTURE', this.requestID = '', this.colsURL = '', this.getEmployeeBasicDetailsList = const <GetEmployeeBasicDetailsList>[]}); {this.uRL = 'GET_EIT_DFF_STRUCTURE', this.requestID = '', this.colsURL = '', this.getEmployeeBasicDetailsList = const <GetEmployeeBasicDetailsList>[], this.correctOrNew = 2});
} }
class DynamicInputScreenProfile extends StatefulWidget { class DynamicInputScreenProfile extends StatefulWidget {
@ -61,18 +63,27 @@ class _DynamicInputScreenState extends State<DynamicInputScreenProfile> {
void getTransactionsStructure() async { void getTransactionsStructure() async {
try { try {
Utils.showLoading(context); Utils.showLoading(context);
genericResponseModel = await ProfileApiClient().getDffStructure(dynamicParams!.dynamicId, dynamicParams!.uRL, dynamicParams!.requestID); genericResponseModel = await ProfileApiClient().getDffStructure("BASIC_DETAILS", dynamicParams!.uRL, dynamicParams!.requestID);
getBasicDetDffStructureList = genericResponseModel?.getBasicDetDffStructureList ?? []; getBasicDetDffStructureList = genericResponseModel?.getBasicDetDffStructureList ?? [];
getBasicDetDffStructureList?.forEach((element) {
element.userBasicDetail = dynamicParams!.getEmployeeBasicDetailsList!.singleWhere((userDetail) => userDetail.aPPLICATIONCOLUMNNAME == element.aPPLICATIONCOLUMNNAME);
});
genericResponseModel = await ProfileApiClient().getColStructure(dynamicParams!.dynamicId, 'GET_BASIC_DET_COLS_STRUCTURE', dynamicParams!.requestID); genericResponseModel = await ProfileApiClient().getColStructure(dynamicParams!.dynamicId, 'GET_BASIC_DET_COLS_STRUCTURE', dynamicParams!.requestID);
getBasicDetColsStructureList = genericResponseModel?.getBasicDetColsStructureList ?? []; getBasicDetColsStructureList = genericResponseModel?.getBasicDetColsStructureList ?? [];
getBasicDetColsStructureList?.forEach((element) {
element.userBasicDetail = dynamicParams!.getEmployeeBasicDetailsList!.singleWhere((userDetail) => userDetail.aPPLICATIONCOLUMNNAME == element.aPPLICATIONCOLUMNNAME); if (dynamicParams!.correctOrNew == 1) {
}); getBasicDetDffStructureList?.forEach((element) {
element.userBasicDetail = dynamicParams!.getEmployeeBasicDetailsList!.singleWhere((userDetail) => userDetail.aPPLICATIONCOLUMNNAME == element.aPPLICATIONCOLUMNNAME);
});
getBasicDetColsStructureList?.forEach((element) {
element.userBasicDetail = dynamicParams!.getEmployeeBasicDetailsList!.singleWhere((userDetail) => userDetail.aPPLICATIONCOLUMNNAME == element.aPPLICATIONCOLUMNNAME);
});
} else {
getBasicDetDffStructureList?.forEach((element) {
element.userBasicDetail = new GetEmployeeBasicDetailsList();
});
getBasicDetColsStructureList?.forEach((element) {
element.userBasicDetail = GetEmployeeBasicDetailsList();
});
}
Utils.hideLoading(context); Utils.hideLoading(context);
setState(() {}); setState(() {});
} catch (ex) { } catch (ex) {
@ -155,7 +166,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreenProfile> {
// 12.height, // 12.height,
DefaultButton( DefaultButton(
LocaleKeys.next.tr(), LocaleKeys.next.tr(),
(getBasicDetDffStructureList ?? []).isEmpty ? null : () => {validateTransaction()}, () => {validateTransaction()},
).insideContainer, ).insideContainer,
], ],
), ),
@ -173,7 +184,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreenProfile> {
return PopupMenuButton( return PopupMenuButton(
child: DynamicTextFieldWidget( child: DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.userBasicDetail?.sEGMENTVALUEDSP ?? "", model.userBasicDetail?.aPPLICATIONCOLUMNNAME ?? "",
isEnable: false, isEnable: false,
isPopup: true, isPopup: true,
).paddingOnly(bottom: 12), ).paddingOnly(bottom: 12),
@ -182,6 +193,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreenProfile> {
], ],
onSelected: (int popupIndex) { onSelected: (int popupIndex) {
getBasicDetDffStructureList![index].userBasicDetail!.sEGMENTVALUEDSP = model.eSERVICESVS![popupIndex].vALUECOLUMNNAME; getBasicDetDffStructureList![index].userBasicDetail!.sEGMENTVALUEDSP = model.eSERVICESVS![popupIndex].vALUECOLUMNNAME;
getBasicDetDffStructureList![index].userBasicDetail!.aPPLICATIONCOLUMNNAME = model.eSERVICESVS![popupIndex].dESCRIPTION;
setState(() {}); setState(() {});
}); });
} }
@ -234,21 +246,30 @@ class _DynamicInputScreenState extends State<DynamicInputScreenProfile> {
if (model.dATATYPE == "VARCHAR2") { if (model.dATATYPE == "VARCHAR2") {
if (model.objectValuesList?.isNotEmpty ?? false) { if (model.objectValuesList?.isNotEmpty ?? false) {
return PopupMenuButton( return PopupMenuButton(
child: DynamicTextFieldWidget( child: DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.userBasicDetail?.sEGMENTVALUEDSP ?? "", getBasicDetColsStructureList![index].userBasicDetail!.sEGMENTVALUEDSP ?? "",
isEnable: false, isEnable: false,
isPopup: true, isPopup: true,
).paddingOnly(bottom: 12), ).paddingOnly(bottom: 12),
itemBuilder: (_) => <PopupMenuItem<int>>[ itemBuilder: (_) => <PopupMenuItem<int>>[
for (int i = 0; i < model.objectValuesList!.length; i++) PopupMenuItem<int>(child: Text(model.objectValuesList![i].mEANING!), value: i), for (int i = 0; i < model.objectValuesList!.length; i++) PopupMenuItem<int>(child: Text(model.objectValuesList![i].mEANING!), value: i),
], ],
onSelected: (int popupIndex) { onSelected: (int popupIndex) {
if (model.objectValuesList![popupIndex].cODE != '') {
ESERVICESDV eservicesdv = ESERVICESDV eservicesdv =
ESERVICESDV(pIDCOLUMNNAME: model.objectValuesList![index].dESCRIPTION, pRETURNMSG: "null", pRETURNSTATUS: model.oBJECTNAME, pVALUECOLUMNNAME: model.aPPLICATIONCOLUMNNAME); ESERVICESDV(pIDCOLUMNNAME: model.objectValuesList![popupIndex].mEANING, pRETURNMSG: "null", pRETURNSTATUS: model.oBJECTNAME, pVALUECOLUMNNAME: model.aPPLICATIONCOLUMNNAME);
getBasicDetDffStructureList![index].userBasicDetail!.sEGMENTVALUEDSP = model.objectValuesList![popupIndex].dESCRIPTION; getBasicDetColsStructureList![index].userBasicDetail!.sEGMENTVALUEDSP = model.objectValuesList![popupIndex].mEANING;
setState(() {}); getBasicDetColsStructureList![index].userBasicDetail!.vARCHAR2VALUE = model.objectValuesList![popupIndex].cODE;
}); } else {
ESERVICESDV eservicesdv =
ESERVICESDV(pIDCOLUMNNAME: model.objectValuesList![popupIndex].dESCRIPTION, pRETURNMSG: "null", pRETURNSTATUS: model.oBJECTNAME, pVALUECOLUMNNAME: model.aPPLICATIONCOLUMNNAME);
getBasicDetColsStructureList![index].userBasicDetail!.sEGMENTVALUEDSP = model.objectValuesList![popupIndex].dESCRIPTION;
getBasicDetColsStructureList![index].userBasicDetail!.vARCHAR2VALUE = model.objectValuesList![popupIndex].mEANING;
}
setState(() {});
},
);
} }
return DynamicTextFieldWidget( return DynamicTextFieldWidget(
@ -264,13 +285,13 @@ class _DynamicInputScreenState extends State<DynamicInputScreenProfile> {
} else if (model.dATATYPE == "DATE") { } else if (model.dATATYPE == "DATE") {
return DynamicTextFieldWidget( return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""), (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.aPPLICATIONCOLUMNNAME ?? (getBasicDetColsStructureList![index].userBasicDetail?.sEGMENTVALUEDSP ?? ""), (getBasicDetColsStructureList![index].userBasicDetail?.dATEVALUE ?? ""),
suffixIconData: Icons.calendar_today, suffixIconData: Icons.calendar_today,
isEnable: false, isEnable: false,
onTap: () async { onTap: () async {
DateTime date = await _selectDate(context); DateTime date = await _selectDate(context);
DateTime date1 = DateTime(date.year, date.month, date.day); DateTime date1 = DateTime(date.year, date.month, date.day);
getBasicDetColsStructureList![index].userBasicDetail?.sEGMENTVALUEDSP = date.toString(); getBasicDetColsStructureList![index].userBasicDetail?.dATEVALUE = date.toString();
// ESERVICESDV eservicesdv = ESERVICESDV( // ESERVICESDV eservicesdv = ESERVICESDV(
// pIDCOLUMNNAME: DateFormat('yyyy-MM-dd').format(date1), // pIDCOLUMNNAME: DateFormat('yyyy-MM-dd').format(date1),
// pRETURNMSG: "null", // pRETURNMSG: "null",
@ -327,8 +348,10 @@ class _DynamicInputScreenState extends State<DynamicInputScreenProfile> {
void validateTransaction() async { void validateTransaction() async {
try { try {
Utils.showLoading(context); Utils.showLoading(context);
int numberValue = 0;
List<Map<String, dynamic>> values = getBasicDetDffStructureList!.map((e) { List<Map<String, dynamic>> values = getBasicDetDffStructureList!.map((e) {
String tempVar = e.eSERVICESDV?.pIDCOLUMNNAME ?? ""; String tempVar = e.userBasicDetail!.vARCHAR2VALUE ?? "";
if (e.fORMATTYPE == "X") { if (e.fORMATTYPE == "X") {
// for date format type, date format is changed // for date format type, date format is changed
tempVar = e.eSERVICESDV?.pVALUECOLUMNNAME ?? ""; tempVar = e.eSERVICESDV?.pVALUECOLUMNNAME ?? "";
@ -342,25 +365,25 @@ class _DynamicInputScreenState extends State<DynamicInputScreenProfile> {
values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_ACTION", nUMBERVALUE: null, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: "NEW_ROW").toJson()); values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_ACTION", nUMBERVALUE: null, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: "NEW_ROW").toJson());
values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_EXTRA_INFO_ID", nUMBERVALUE: -1, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: null).toJson()); values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_EXTRA_INFO_ID", nUMBERVALUE: -1, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: null).toJson());
values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_OBJECT_VERSION_NUMBER", nUMBERVALUE: 0, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: null).toJson()); //values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_OBJECT_VERSION_NUMBER", nUMBERVALUE: 0, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: null).toJson());
List<Map<String, dynamic>> valuesCols = getBasicDetColsStructureList!.map((e) { List<Map<String, dynamic>> valuesCols = getBasicDetColsStructureList!.map((e) {
String tempVar = e.userBasicDetail!.vARCHAR2VALUE ?? ""; if (e.dATATYPE == 'NUMBER') {
if (e.dATATYPE == "DATE") { numberValue = e.userBasicDetail!.nUMBERVALUE!;
// for date format type, date format is changed
tempVar = e.userBasicDetail!.dATEVALUE ?? "";
if (tempVar.isNotEmpty) {
DateTime date = DateFormat('yyyy-MM-dd').parse(tempVar);
tempVar = DateFormat('yyyy/MM/dd HH:mm:ss').format(date);
}
} }
return ValidateEitTransactionModel(dATEVALUE: tempVar, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: null, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: tempVar.toString()).toJson(); return ValidateEitTransactionModel(
dATEVALUE: e.userBasicDetail!.dATEVALUE ?? "", nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: numberValue, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: e.userBasicDetail!.vARCHAR2VALUE ?? "")
.toJson();
}).toList(); }).toList();
List<Map<String, dynamic>> transactionValues = new List.from(values)..addAll(valuesCols); List<Map<String, dynamic>> transactionValues = new List.from(values)..addAll(valuesCols);
print(transactionValues); print(transactionValues);
//genericResponseModel = await MyAttendanceApiClient().validateEitTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values);
// SubmitEITTransactionList submitEITTransactionList = await MyAttendanceApiClient().submitEitTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values); SubmitBasicDetailsTransactionList submitBasicDetails =
await ProfileApiClient().submitBasicDetailsTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, transactionValues, dynamicParams!.correctOrNew);
print(submitBasicDetails);
Utils.hideLoading(context); Utils.hideLoading(context);
// Navigator.pushNamed(context, AppRoutes.requestSubmitScreen, arguments: RequestSubmitScreenParams("title", submitEITTransactionList.pTRANSACTIONID!, submitEITTransactionList.pITEMKEY!, 'eit'));
Navigator.pushNamed(context, AppRoutes.requestSubmitScreen,
arguments: RequestSubmitScreenParams(dynamicParams!.title, submitBasicDetails.pTRANSACTIONID!, submitBasicDetails.pITEMKEY!, 'basicDetails'));
} catch (ex) { } catch (ex) {
Utils.hideLoading(context); Utils.hideLoading(context);
Utils.handleException(ex, context, null); Utils.handleException(ex, context, null);

@ -8,7 +8,7 @@ import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart'; import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart';
import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_familyMembers_screen.dart'; import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_familyMembers_screen.dart';
import 'package:mohem_flutter_app/ui/profile/profile.dart'; import 'package:mohem_flutter_app/ui/screens/profile/profile_screen.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:mohem_flutter_app/widgets/button/default_button.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart';
@ -200,7 +200,7 @@ class _FamilyMembersState extends State<FamilyMembers> {
)); ));
} }
Widget footer() { Widget footer() {
return Container( return Container(
decoration: BoxDecoration( decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(10), // borderRadius: BorderRadius.circular(10),
@ -210,9 +210,9 @@ class _FamilyMembersState extends State<FamilyMembers> {
], ],
), ),
child: DefaultButton(LocaleKeys.addNewFamilyMember.tr(), () async { child: DefaultButton(LocaleKeys.addNewFamilyMember.tr(), () async {
Navigator.pushNamed(context, AppRoutes.addUpdateFamilyMember, arguments: {"relationID":relationId, "flag":1, "actionType":"ADD"}); Navigator.pushNamed(context, AppRoutes.addUpdateFamilyMember, arguments: {"relationID": relationId, "flag": 1, "actionType": "ADD"});
// context.setLocale(const Locale("en", "US")); // to change Loacle // context.setLocale(const Locale("en", "US")); // to change Loacle
// Profile(); ProfileScreen();
}).insideContainer, }).insideContainer,
); );
} }
@ -231,7 +231,11 @@ class _FamilyMembersState extends State<FamilyMembers> {
LocaleKeys.ok.tr(), LocaleKeys.ok.tr(),
), ),
onPressed: () { onPressed: () {
Navigator.pushNamed(context, AppRoutes.addUpdateFamilyMember, arguments: {"relationID":relationId, "flag":flag, "actionType": "UPDATE"}, ); Navigator.pushNamed(
context,
AppRoutes.addUpdateFamilyMember,
arguments: {"relationID": relationId, "flag": flag, "actionType": "UPDATE"},
);
}, },
); );
AlertDialog alert = AlertDialog( AlertDialog alert = AlertDialog(

@ -106,7 +106,10 @@ class _PesonalInfoState extends State<PesonalInfo> {
BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 3), BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 3),
], ],
), ),
child: DefaultButton(LocaleKeys.update.tr(), () async {}).insideContainer, child: DefaultButton(
LocaleKeys.update.tr(),
() async {},
).insideContainer,
); );
} }
} }

@ -4,15 +4,12 @@ import 'package:mohem_flutter_app/api/profile_api_client.dart';
import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/config/routes.dart'; import 'package:mohem_flutter_app/config/routes.dart';
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'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/get_employee_phones_model.dart'; import 'package:mohem_flutter_app/models/get_employee_phones_model.dart';
import 'package:mohem_flutter_app/models/profile/phone_number_types_modek.dart'; import 'package:mohem_flutter_app/models/profile/phone_number_types_model.dart';
import 'package:mohem_flutter_app/models/profile/submit_phone_transactions.dart'; import 'package:mohem_flutter_app/models/profile/submit_phone_transactions.dart';
import 'package:mohem_flutter_app/ui/misc/request_submit_screen.dart'; import 'package:mohem_flutter_app/ui/misc/request_submit_screen.dart';
import 'package:mohem_flutter_app/ui/profile/profile.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:mohem_flutter_app/widgets/button/default_button.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart';
import 'package:mohem_flutter_app/widgets/dynamic_forms/dynamic_textfield_widget.dart'; import 'package:mohem_flutter_app/widgets/dynamic_forms/dynamic_textfield_widget.dart';

@ -1,271 +0,0 @@
import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/api/profile_api_client.dart';
import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart';
class Profile extends StatefulWidget {
const Profile({Key? key}) : super(key: key);
@override
_ProfileState createState() => _ProfileState();
}
// todo '@fatima' use extension methods for widgets,7 dont use hard code strings, make it localize
class _ProfileState extends State<Profile> {
String? fullName = "";
String? maritalStatus = "";
String? birthDate = "";
String? civilIdentityNumber = "";
String? emailAddress = "";
String? employeeNo = "";
List<GetEmployeeBasicDetailsList> getEmployeeBasicDetailsList = [];
@override
void initState() {
super.initState();
getEmployeeBasicDetails();
basicDetails();
}
void getEmployeeBasicDetails() async {
try {
Utils.showLoading(context);
getEmployeeBasicDetailsList = await ProfileApiClient().getEmployeeBasicDetails();
Utils.hideLoading(context);
basicDetails();
setState(() {});
} catch (ex) {
Utils.hideLoading(context);
Utils.handleException(ex, context, null);
}
}
void basicDetails() {
for (int i = 0; i < getEmployeeBasicDetailsList.length; i++) {
if (getEmployeeBasicDetailsList[i].aPPLICATIONCOLUMNNAME == 'FULL_NAME') {
fullName = getEmployeeBasicDetailsList[i].sEGMENTVALUEDSP;
} else if (getEmployeeBasicDetailsList[i].aPPLICATIONCOLUMNNAME == 'MARITAL_STATUS') {
maritalStatus = getEmployeeBasicDetailsList[i].sEGMENTVALUEDSP;
} else if (getEmployeeBasicDetailsList[i].aPPLICATIONCOLUMNNAME == 'DATE_OF_BIRTH') {
birthDate = getEmployeeBasicDetailsList[i].sEGMENTVALUEDSP;
} else if (getEmployeeBasicDetailsList[i].aPPLICATIONCOLUMNNAME == 'NATIONAL_IDENTIFIER') {
civilIdentityNumber = getEmployeeBasicDetailsList[i].sEGMENTVALUEDSP;
} else if (getEmployeeBasicDetailsList[i].aPPLICATIONCOLUMNNAME == 'EMAIL_ADDRESS') {
emailAddress = getEmployeeBasicDetailsList[i].sEGMENTVALUEDSP;
} else if (getEmployeeBasicDetailsList[i].aPPLICATIONCOLUMNNAME == 'EMPLOYEE_NUMBER') {
employeeNo = getEmployeeBasicDetailsList[i].sEGMENTVALUEDSP;
}
}
}
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: MyColors.lightGreenColor,
leading: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
IconButton(
icon: const Icon(
Icons.arrow_back_ios,
color: MyColors.backgroundBlackColor,
),
onPressed: () => Navigator.pop(context),
),
],
),
),
backgroundColor: MyColors.lightGreenColor,
body: Stack(children: [
Align(
alignment: Alignment.topRight,
child: Container(
height: 30,
width: 80,
padding: EdgeInsets.only(left: 10.0, right: 10.0, top: 5, bottom: 5),
decoration: BoxDecoration(
border: Border.all(
color: MyColors.gradiantEndColor,
style: BorderStyle.solid,
),
color: MyColors.gradiantEndColor,
borderRadius: BorderRadius.circular(100.0)),
child: InkWell(
onTap: () {},
child: RichText(
text: TextSpan(
children: [
WidgetSpan(
child: Icon(
Icons.image,
size: 20,
color: Colors.white,
),
),
TextSpan(
text: " Edit",
),
],
),
),
)),
),
Container(
width: double.infinity,
margin: EdgeInsets.only(top: 48),
height: double.infinity,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(topLeft: Radius.circular(30.0), topRight: Radius.circular(30.0)),
),
child: Column(
children: [
"$fullName".toText20(isBold: true, color: MyColors.blackColor),
"$employeeNo".toText12(isBold: false, color: MyColors.lightGrayColor),
"$emailAddress".toText12(isBold: false, color: MyColors.black),
SizedBox(
height: 5,
),
Divider(
color: MyColors.lightGreyE6Color,
height: 20,
thickness: 8,
indent: 0,
endIndent: 0,
),
Container(
padding: EdgeInsets.only(left: 10.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
InkWell(
onTap: () {},
child: Row(
children: <Widget>[
SizedBox(
width: 15,
),
"Personal Information".toText16(isBold: true, color: MyColors.grey3AColor),
],
),
),
SizedBox(
height: 5,
),
InkWell(
onTap: () {},
child: Row(
children: <Widget>[
SizedBox(
width: 15,
),
"Basic Details".toText16(isBold: true, color: MyColors.grey3AColor),
],
),
),
SizedBox(
height: 5,
),
InkWell(
onTap: () {},
child: Row(
children: <Widget>[
SizedBox(
width: 20,
),
"Contact Details".toText16(isBold: true, color: MyColors.grey3AColor),
],
),
),
SizedBox(
height: 5,
),
InkWell(
onTap: () {},
child: Row(
children: <Widget>[
SizedBox(
width: 20,
),
"Family Members".toText16(isBold: true, color: MyColors.grey3AColor),
],
),
),
SizedBox(
height: 5,
),
],
),
),
],
).paddingOnly(top: 35, bottom: 36),
),
Align(
alignment: Alignment.topCenter,
child: SizedBox(
child: CircleAvatar(
radius: 40.0,
backgroundColor: Colors.white,
child: CircleAvatar(
child: Align(
alignment: Alignment.bottomRight,
// child: CircleAvatar(
// backgroundColor: Colors.white,
// radius: 12.0,
// child: Icon(
// Icons.camera_alt,
// size: 15.0,
// color: Color(0xFF404040),
// ),
// ),
),
radius: 38.0,
// url:"",
),
),
)),
])
// Container(
// margin: const EdgeInsets.only(top:50),
// decoration: const BoxDecoration(
// color: Colors.white,
// borderRadius: BorderRadius.only(
// topLeft: Radius.circular(30.0),
// topRight: Radius.circular(30.0))
// ),
// // color: MyColors.white,
// child: Stack(
// children: [
// Container(
// height: 30,
// color: MyColors.lightGreenColor,
// margin: const EdgeInsets.only(bottom: 20,),
// child: Row(
// mainAxisAlignment: MainAxisAlignment.center,
// children: [
// CircleAvatar(
// backgroundColor: Colors.grey.shade800,
// ),
// ],
// ),
// ),
// ListView(
// scrollDirection: Axis.vertical,
// children: [
// Column(
// children: [
// // 20.height,
// ],
// )
// ],
// ),
// ]
// ),
// ),
);
}
}

@ -3,31 +3,42 @@ import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:mohem_flutter_app/config/routes.dart'; import 'package:mohem_flutter_app/config/routes.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart';
import 'package:mohem_flutter_app/models/member_information_list_model.dart'; import 'package:mohem_flutter_app/models/member_information_list_model.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:mohem_flutter_app/models/profile_menu.model.dart'; import 'package:mohem_flutter_app/models/profile_menu.model.dart';
import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart';
import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_input_screen.dart'; import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_input_screen.dart';
import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart'; import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart';
import 'package:provider/provider.dart';
// todo '@sultan' kindly follow structure of code written. use extension methods for widgets, also format code // todo '@sultan' kindly follow structure of code written. use extension methods for widgets, also format code
class ProfileInFo extends StatelessWidget { class ProfileInFo extends StatefulWidget {
ProfileInFo(this.memberInfo); ProfileInFo(this.memberInfo);
MemberInformationListModel memberInfo; MemberInformationListModel memberInfo;
@override
State<ProfileInFo> createState() => _ProfileInFoState();
}
class _ProfileInFoState extends State<ProfileInFo> {
static List<GetMenuEntriesList> menuData = [];
String data = '.'; String data = '.';
double sliderValue = 75; double sliderValue = 75;
List<ProfileMenu> menu = [ List<ProfileMenu> menu = [
ProfileMenu(name: LocaleKeys.profile_personalInformation.tr(), icon: 'personal-info.svg', route: AppRoutes.personalInfo, dynamicUrl: ''), ProfileMenu(name: LocaleKeys.profile_personalInformation.tr(), icon: 'personal-info.svg', route: AppRoutes.personalInfo, dynamicUrl: '', menuEntries: getMenuEntries('')),
ProfileMenu( ProfileMenu(name: LocaleKeys.profile_basicDetails.tr(), icon: 'basic-details.svg', route: AppRoutes.basicDetails, menuEntries: getMenuEntries('BASIC_DETAILS')),
name: LocaleKeys.profile_basicDetails.tr(), ProfileMenu(name: LocaleKeys.profile_contactDetails.tr(), icon: 'contact-details.svg', route: AppRoutes.contactDetails, dynamicUrl: '', menuEntries: getMenuEntries('ADDRESS')),
icon: 'basic-details.svg', ProfileMenu(name: LocaleKeys.profile_familyDetails.tr(), icon: 'family-members.svg', route: AppRoutes.familyMembers, dynamicUrl: '', menuEntries: getMenuEntries('CONTACT')),
route: AppRoutes.basicDetails,
),
ProfileMenu(name: LocaleKeys.profile_contactDetails.tr(), icon: 'contact-details.svg', route: AppRoutes.contactDetails, dynamicUrl: ''),
ProfileMenu(name: LocaleKeys.profile_familyDetails.tr(), icon: 'family-members.svg', route: AppRoutes.familyMembers, dynamicUrl: ''),
]; ];
@override
void setState(VoidCallback fn) {
super.setState(fn);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Container(
@ -35,11 +46,11 @@ class ProfileInFo extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
/// card header /// card header
customLabel(memberInfo.eMPLOYEENAME.toString(), 22, Colors.black, true), customLabel(widget.memberInfo.eMPLOYEENAME.toString(), 22, Colors.black, true),
customLabel(memberInfo.eMPLOYEENUMBER.toString() + ' | ' + memberInfo.jOBNAME.toString(), 14, Colors.grey, false), customLabel(widget.memberInfo.eMPLOYEENUMBER.toString() + ' | ' + widget.memberInfo.jOBNAME.toString(), 14, Colors.grey, false),
customLabel(memberInfo.eMPLOYEEEMAILADDRESS.toString(), 13, Colors.black, true), customLabel(widget.memberInfo.eMPLOYEEEMAILADDRESS.toString(), 13, Colors.black, true),
Divider(height: 40, thickness: 8, color: const Color(0xffefefef)), Divider(height: 40, thickness: 8, color: const Color(0xffefefef)),
@ -47,22 +58,17 @@ class ProfileInFo extends StatelessWidget {
SizedBox(height: 10), SizedBox(height: 10),
Container( Container(
child: Row( child: Row(mainAxisAlignment: MainAxisAlignment.spaceAround, crossAxisAlignment: CrossAxisAlignment.center, children: [
mainAxisAlignment: MainAxisAlignment.spaceAround, Column(
crossAxisAlignment: CrossAxisAlignment.center, children: [customLabel(LocaleKeys.year.tr(), 14, const Color(0xff808080), true), customLabel(widget.memberInfo.sERVICEYEARS.toString().padLeft(2, '0'), 22, Color(0xff2BB8A6), true)],
children: [
Column(
children: [customLabel(LocaleKeys.year.tr(), 14, const Color(0xff808080), true), customLabel(memberInfo.sERVICEYEARS.toString().padLeft(2, '0'), 22, Color(0xff2BB8A6), true)],
),
Column(
children: [customLabel(LocaleKeys.month.tr(), 14, const Color(0xff808080), true), customLabel(memberInfo.sERVICEMONTHS.toString().padLeft(2, '0'), 22, Color(0xff2BB8A6), true)],
),
Column(
children: [customLabel(LocaleKeys.day.tr(), 14, const Color(0xff808080), true), customLabel(memberInfo.sERVICEDAYS.toString().padLeft(2, '0'), 22, Color(0xff2BB8A6), true)],
)
],
), ),
), Column(
children: [customLabel(LocaleKeys.month.tr(), 14, const Color(0xff808080), true), customLabel(widget.memberInfo.sERVICEMONTHS.toString().padLeft(2, '0'), 22, Color(0xff2BB8A6), true)],
),
Column(
children: [customLabel(LocaleKeys.day.tr(), 14, const Color(0xff808080), true), customLabel(widget.memberInfo.sERVICEDAYS.toString().padLeft(2, '0'), 22, Color(0xff2BB8A6), true)],
)
])),
Divider(height: 40, thickness: 8, color: const Color(0xffefefef)), Divider(height: 40, thickness: 8, color: const Color(0xffefefef)),
Container( Container(
@ -143,3 +149,12 @@ class ProfileInFo extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [Text(label, style: TextStyle(color: color, fontSize: size, fontWeight: isBold ? FontWeight.bold : FontWeight.normal))])); children: [Text(label, style: TextStyle(color: color, fontSize: size, fontWeight: isBold ? FontWeight.bold : FontWeight.normal))]));
} }
GetMenuEntriesList getMenuEntries(String type) {
List<GetMenuEntriesList> data = _ProfileInFoState.menuData.where((GetMenuEntriesList test) => test.functionName == type).toList();
if (data.isNotEmpty) {
return data[0];
} else {
return GetMenuEntriesList();
}
}

Loading…
Cancel
Save