diff --git a/lib/models/post_params_model.dart b/lib/models/post_params_model.dart index 0bb48d0..7e62257 100644 --- a/lib/models/post_params_model.dart +++ b/lib/models/post_params_model.dart @@ -37,7 +37,7 @@ class PostParamsModel { languageID = json['LanguageID']; mobileType = json['MobileType']; logInTokenID = json['LogInTokenID']; - payrollCodeStr = json['payrollCodeStr']; + payrollCodeStr = json['PayrollCodeStr']; pLegislationCode = json['LegislationCodeStr']; tokenID = json['TokenID']; } @@ -49,7 +49,7 @@ class PostParamsModel { data['LanguageID'] = this.languageID; data['MobileType'] = this.mobileType; data['LogInTokenID'] = this.logInTokenID; - data['payrollCodeStr'] = this.payrollCodeStr; + data['PayrollCodeStr'] = this.payrollCodeStr; data['LegislationCodeStr'] = this.pLegislationCode; data['TokenID'] = this.tokenID; return data; @@ -67,7 +67,7 @@ class PostParamsModel { data['UserName'] = this.userName; data['P_EMAIL_ADDRESS'] = this.pEmailAddress; data['P_SESSION_ID'] = this.pSessionId; - data['payrollCodeStr'] = this.payrollCodeStr; + data['PayrollCodeStr'] = this.payrollCodeStr; data['LegislationCodeStr'] = this.pLegislationCode; data['P_SELECTED_EMPLOYEE_NUMBER'] = this.pSelectedEmployeeNumber; data['P_USER_NAME'] = this.pUserName; diff --git a/lib/ui/my_attendance/dynamic_screens/dynamic_input_screen.dart b/lib/ui/my_attendance/dynamic_screens/dynamic_input_screen.dart index ef75031..371b522 100644 --- a/lib/ui/my_attendance/dynamic_screens/dynamic_input_screen.dart +++ b/lib/ui/my_attendance/dynamic_screens/dynamic_input_screen.dart @@ -7,7 +7,6 @@ import 'package:mohem_flutter_app/api/my_attendance_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'; @@ -63,12 +62,26 @@ class _DynamicInputScreenState extends State { String tempVar = e.eSERVICESDV?.pIDCOLUMNNAME ?? ""; if (e.fORMATTYPE == "X") { // for date format type, date format is changed - tempVar = e.eSERVICESDV?.pVALUECOLUMNNAME ?? ""; + tempVar = e.eSERVICESDV?.pIDCOLUMNNAME ?? ""; if (tempVar.isNotEmpty) { - DateTime date = DateFormat('yyyy-MM-dd').parse(tempVar); - tempVar = DateFormat('yyyy/MM/dd HH:mm:ss').format(date); + if (!tempVar.contains("/")) { + DateTime date = DateFormat('yyyy-MM-dd').parse(tempVar); + tempVar = DateFormat('yyyy/MM/dd HH:mm:ss').format(date); + } } } + // else if (e.fORMATTYPE == "N") { + // // for date format type, date format is changed + // tempVar = e.eSERVICESDV?.pIDCOLUMNNAME ?? ""; + // print("------------------------sEGMENTNAME:${e.sEGMENTNAME}"); + // print("------------------------tempVar:$tempVar"); + // if (tempVar.isNotEmpty) { + // if (!tempVar.contains("/")) { + // DateTime date = DateFormat('yyyy-MM-dd').parse(tempVar); + // tempVar = DateFormat('yyyy/MM/dd HH:mm:ss').format(date); + // } + // } + // } return ValidateEitTransactionModel(dATEVALUE: null, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: null, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: tempVar.toString()).toJson(); }).toList(); @@ -92,65 +105,299 @@ class _DynamicInputScreenState extends State { String dESCFLEXCONTEXTCODE = ""; String descFlexConTextTitle = ""; - void calGetValueSetValues(GetEITDFFStructureList structureList) async { - try { - Utils.showLoading(context); - String segmentId = structureList.cHILDSEGMENTSVS!; - if (dESCFLEXCONTEXTCODE.isEmpty) dESCFLEXCONTEXTCODE = structureList.dESCFLEXCONTEXTCODE!; + Future calGetValueSetValues(GetEITDFFStructureList structureList) async { + // try { + Utils.showLoading(context); + String segmentId = structureList.cHILDSEGMENTSVS!; + if (dESCFLEXCONTEXTCODE.isEmpty) dESCFLEXCONTEXTCODE = structureList.dESCFLEXCONTEXTCODE!; + + List filteredList = getEitDffStructureList?.where((element) => element.cHILDSEGMENTSVS == segmentId).toList() ?? []; + List> values = filteredList + .map((e) => GetSetValuesRequestModel( + sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME) + .toJson()) + .toList(); + ESERVICESVS eServicesResponseModel = await MyAttendanceApiClient().getValueSetValues(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, values); + List abc = genericResponseModel?.getEITDFFStructureList ?? []; + getEitDffStructureList = abc; + int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == structureList.cHILDSEGMENTSVS); + getEitDffStructureList![index].eSERVICESVS!.clear(); + getEitDffStructureList![index].eSERVICESVS!.add(eServicesResponseModel); + // 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); + // } + } + + Future getDefaultValues(GetEITDFFStructureList structureList) async { + // try { + Utils.showLoading(context); + for (int i = 0; i < (structureList.cHILDSEGMENTSDVSplited?.length ?? 0); i++) { + String segmentId = structureList.cHILDSEGMENTSDVSplited![i]; + print("segmentId:$segmentId"); + print("segmentName:${structureList.sEGMENTNAME}"); + GetEITDFFStructureList? parent = getEitDffStructureList!.firstWhere((element) => element.sEGMENTNAME == segmentId); + List parentDvRequired = parent.pARENTSEGMENTSDVSplited ?? []; + List parentVsRequired = parent.pARENTSEGMENTSVSSplitedVS ?? []; + + List filteredList = + getEitDffStructureList!.where((outerElement) => parentDvRequired.any((element) => outerElement.sEGMENTNAME == element.name && element.isRequired == "REQUIRED")).toList(); - List filteredList = getEitDffStructureList?.where((element) => element.cHILDSEGMENTSVS == segmentId).toList() ?? []; List> values = filteredList .map((e) => GetSetValuesRequestModel( sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME) .toJson()) .toList(); - ESERVICESVS eServicesResponseModel = await MyAttendanceApiClient().getValueSetValues(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, values); - List abc = genericResponseModel?.getEITDFFStructureList ?? []; - getEitDffStructureList = abc; - int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == structureList.cHILDSEGMENTSVS); - getEitDffStructureList![index].eSERVICESVS!.clear(); - getEitDffStructureList![index].eSERVICESVS!.add(eServicesResponseModel); - // 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); + print("values:${values.length}"); + List> getSetList = getDefaultValuesIonicLogic(parent); + print("getSetList:${getSetList.length}"); + if (getSetList.isNotEmpty) { + ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, getSetList); + int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId); + getEitDffStructureList![index].eSERVICESDV = defaultValue; + } } + await Future.delayed(const Duration(seconds: 1)); + Utils.hideLoading(context); + setState(() {}); + // } catch (ex) { + // Utils.hideLoading(context); + // Utils.handleException(ex, context, null); + // } } - void getDefaultValues(GetEITDFFStructureList structureList) async { - try { - Utils.showLoading(context); - for (int i = 0; i < (structureList.cHILDSEGMENTSDVSplited?.length ?? 0); i++) { - String segmentId = structureList.cHILDSEGMENTSDVSplited![i]; - print("segmentId:$segmentId"); - print("segmentName:${structureList.sEGMENTNAME}"); - GetEITDFFStructureList? parent = getEitDffStructureList!.firstWhere((element) => element.sEGMENTNAME == segmentId); - List parentRequired = parent.pARENTSEGMENTSDVSplited ?? []; - - List filteredList = - getEitDffStructureList!.where((outerElement) => parentRequired.any((element) => outerElement.sEGMENTNAME == element.name && element.isRequired == "REQUIRED")).toList(); - - - List> values = filteredList - .map((e) => GetSetValuesRequestModel( - sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME) - .toJson()) - .toList(); - print("values:$values"); - - ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, values); - int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId); - getEitDffStructureList![index].eSERVICESDV = defaultValue; + // List> calGetValueSetValuesIonicLogic(GetEITDFFStructureList structureElement) { + // let descFlexName: any = ""; + // let descFlexContextCode: any = ""; + // let parentValue: any = []; + // let ParentsList: any = []; + // let parentVal: any = null; + // let dependenciesList: any = []; + // let validationType: string = ""; + // } + + List> getDefaultValuesIonicLogic(GetEITDFFStructureList structureElement) { + // try { + // Utils.showLoading(context); + + print("structureElementVS:${structureElement.pARENTSEGMENTSVSSplitedVS?.length}"); + print("structureElementDS:${structureElement.pARENTSEGMENTSDVSplited?.length}"); + print("vALIDATIONTYPE:${structureElement.vALIDATIONTYPE}"); + + List parentValue = structureElement.pARENTSEGMENTSVSSplitedVS ?? []; + List parentsList = structureElement.pARENTSEGMENTSDVSplited ?? []; + + List> dependenciesList = []; + String? parentVal; + bool isStandardDate = false; + bool isStandardTimeDate = false; + bool isStandardTime = false; + bool isHidden = false; + bool isReadOnlyList = false; + bool isSelectElement = false; + + // isStandardDate = this.isStandardDate(obj); + // isStandardTimeDate = this.isStandardDateTime(obj); + // isStandardTime = this.isStandardTime(obj); + if (structureElement.dISPLAYFLAG == "N") isHidden = true; + if (structureElement.vALIDATIONTYPE != "N" && structureElement.rEADONLY == "Y") { + isReadOnlyList = true; + } + if (structureElement.vALIDATIONTYPE != "N" && structureElement.rEADONLY == "N") { + isSelectElement = true; + } + + if (parentValue.isNotEmpty && (structureElement.vALIDATIONTYPE == "D" || structureElement.vALIDATIONTYPE == "Y")) { + print("entringfirst check"); + List parValue = getDependenciesParams(parentValue); + print("parValue:$parValue"); + if (parValue.isNotEmpty) { + parentVal = parValue.first.ID_COLUMN_NAME; + } + + if (parentVal == null) { + return []; + } + } + if (parentsList.isNotEmpty) { + print("entring2nd check"); + print("parentValue:$parentValue"); + if (parentValue.isNotEmpty) { + parentsList = parentsList + parentValue.map((e) => PARENTSEGMENTSDVSplited.fromJson(e.toJson())).toList(); + // parentsList.addAll(parentValue.map((e) => PARENTSEGMENTSDVSplited.fromJson(e.toJson()))); + // parentsList.concat(parentValue); + } + dependenciesList = getDependenciesParams(parentsList); + print("dependenciesList:${dependenciesList.length}"); + } + return dependenciesList; + // for (int i = 0; i < (structureList.cHILDSEGMENTSDVSplited?.length ?? 0); i++) { + // String segmentId = structureList.cHILDSEGMENTSDVSplited![i]; + // print("segmentId:$segmentId"); + // print("segmentName:${structureList.sEGMENTNAME}"); + // GetEITDFFStructureList? parent = getEitDffStructureList!.firstWhere((element) => element.sEGMENTNAME == segmentId); + // List parentDvRequired = parent.pARENTSEGMENTSDVSplited ?? []; + // List parentVsRequired = parent.pARENTSEGMENTSVSSplitedVS ?? []; + // + // List filteredList = + // getEitDffStructureList!.where((outerElement) => parentDvRequired.any((element) => outerElement.sEGMENTNAME == element.name && element.isRequired == "REQUIRED")).toList(); + // + // List> values = filteredList + // .map((e) => GetSetValuesRequestModel( + // sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME) + // .toJson()) + // .toList(); + // print("values:$values"); + // + // ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, values); + // int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId); + // getEitDffStructureList![index].eSERVICESDV = defaultValue; + // } + // Utils.hideLoading(context); + // setState(() {}); + // } catch (ex) { + // Utils.hideLoading(context); + // Utils.handleException(ex, context, null); + // } + } + + List> getDependenciesParams(parentsList) { + print("getDependenciesParams:${parentsList.length}"); + List> parentArr = []; + + for (int i = 0; i < parentsList.length; i++) { + for (int j = 0; j < (getEitDffStructureList?.length ?? 0); j++) { + if (getEitDffStructureList![j].sEGMENTNAME == parentsList[i].name) { + // print("getEitDffStructureList![j].sEGMENTNAME:${getEitDffStructureList![j].sEGMENTNAME}"); + // print("getEitDffStructureList![j].fORMATTYPE:${getEitDffStructureList![j].fORMATTYPE}"); + // print("getEitDffStructureList![j].eSERVICESDV:${getEitDffStructureList![j].eSERVICESDV?.toJson()}"); + if (getEitDffStructureList![j].dISPLAYFLAG != "N") { + print("getEitDffStructureList![$j].vALIDATIONTYPE:${getEitDffStructureList![j].vALIDATIONTYPE}"); + print("getEitDffStructureList![$j].fORMATTYPE:${getEitDffStructureList![j].fORMATTYPE}"); + if (getEitDffStructureList![j].vALIDATIONTYPE == "N") { + String? idColName; + String? val; + if (getEitDffStructureList![j].fORMATTYPE == "Y" || getEitDffStructureList![j].fORMATTYPE == "I") { + //standard date time or //time + val = getEitDffStructureList![j].eSERVICESDV?.pVALUECOLUMNNAME; + // val = getEitDffStructureList![j].eSERVICESDV?.pVALUECOLUMNNAME; + // var elem = document.getElementById(getEitDffStructureList![j].aPPLICATIONCOLUMNNAME) as HTMLDivElement; + + if ((val ?? "").isEmpty && parentsList[i].isRequired == "REQUIRED") { + //alert(parentsList[i].Name +" Is required"); + return []; + // return false; + } + idColName = val; + if (getEitDffStructureList![j].fORMATTYPE == "Y") { + if (idColName!.contains("/")) { + DateTime date = DateFormat('yyyy/MM/dd').parse(idColName); + idColName = DateFormat('yyyy/MM/dd HH:mm:ss').format(DateTime(date.year, date.month, date.day)); + } else { + DateTime date = DateFormat('yyyy-MM-dd').parse(idColName); + idColName = DateFormat('yyyy/MM/dd HH:mm:ss').format(DateTime(date.year, date.month, date.day)); + } + + // idColName = this.cs.formatStandardDate(val); + } + } else { + val = getEitDffStructureList![j].eSERVICESDV?.pVALUECOLUMNNAME; + // val = (document.getElementById(getEitDffStructureList![j].aPPLICATIONCOLUMNNAME) as HTMLInputElement).value; + if ((val ?? "").isEmpty && parentsList[i].isRequired == "REQUIRED") { + //alert(parentsList[i].Name +" Is required"); + return []; + } + idColName = val; + + if (getEitDffStructureList![j].fORMATTYPE == "X") { + // idColName = formatDateNew(date) + + DateTime date = DateFormat('yyyy-MM-dd').parse(idColName!); + idColName = DateFormat('yyyy-MM-dd HH:mm:ss').format(date); + } + print("idColName:$idColName"); + } + + parentArr.add(GetSetValuesRequestModel( + sEGMENTNAME: getEitDffStructureList![j].sEGMENTNAME, + vALUECOLUMNNAME: val, + dESCRIPTION: "", + iDCOLUMNNAME: idColName, + fLEXVALUESETNAME: getEitDffStructureList![j].fLEXVALUESETNAME, + ).toJson()); + break; + } else { + if (getEitDffStructureList![j].rEADONLY != "Y") { + var data = getEitDffStructureList![j].eSERVICESDV; + + // let x = document.getElementById(getEitDffStructureList![j].aPPLICATIONCOLUMNNAME) as HTMLSelectElement; + String? text = data?.pIDCOLUMNNAME; //x.options[x.selectedIndex] ? x.options[x.selectedIndex].text : ""; + String? val = data?.pVALUECOLUMNNAME; //x.options[x.selectedIndex] ? x.options[x.selectedIndex].value : null; + if ((val ?? "").isEmpty && parentsList[i].isRequired == "REQUIRED") { + //alert(parentsList[i].Name +" Is required"); + return []; + } else {} + + text ??= ""; + + parentArr.add(GetSetValuesRequestModel( + sEGMENTNAME: getEitDffStructureList![j].sEGMENTNAME, + vALUECOLUMNNAME: val, + dESCRIPTION: "", + iDCOLUMNNAME: text, + fLEXVALUESETNAME: getEitDffStructureList![j].fLEXVALUESETNAME, + ).toJson()); + break; + } else { + var data = getEitDffStructureList![j].eSERVICESDV; + + String? text = data?.pVALUECOLUMNNAME; + String? val = data?.pIDCOLUMNNAME; + if ((val ?? "").isEmpty && parentsList[i].IsRequired == "REQUIRED") { + //alert(parentsList[i].Name +" Is required"); + return []; + } else {} + text ??= ""; + + parentArr.add(GetSetValuesRequestModel( + sEGMENTNAME: getEitDffStructureList![j].sEGMENTNAME, + vALUECOLUMNNAME: text, + dESCRIPTION: "", + iDCOLUMNNAME: val, + fLEXVALUESETNAME: getEitDffStructureList![j].fLEXVALUESETNAME, + ).toJson()); + + //break; + } + } + } else { + var data = getEitDffStructureList![j].eSERVICESDV; + + String? text = data?.pVALUECOLUMNNAME; + String? val = data?.pIDCOLUMNNAME; + if ((val ?? "").isEmpty && parentsList[i].IsRequired == "REQUIRED") { + //alert(parentsList[i].Name +" Is required"); + return []; + } else {} + text ??= ""; + + parentArr.add(GetSetValuesRequestModel( + sEGMENTNAME: getEitDffStructureList![j].sEGMENTNAME, + vALUECOLUMNNAME: text, + dESCRIPTION: "", + iDCOLUMNNAME: val, + fLEXVALUESETNAME: getEitDffStructureList![j].fLEXVALUESETNAME, + ).toJson()); + // break; + } + } } - Utils.hideLoading(context); - setState(() {}); - } catch (ex) { - Utils.hideLoading(context); - Utils.handleException(ex, context, null); } + return parentArr; } @override @@ -269,10 +516,10 @@ class _DynamicInputScreenState extends State { getEitDffStructureList![index].eSERVICESDV = eservicesdv; setState(() {}); if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) { - calGetValueSetValues(model); + await calGetValueSetValues(model); } if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) { - getDefaultValues(model); + await getDefaultValues(model); } }, ).paddingOnly(bottom: 12); @@ -298,12 +545,11 @@ class _DynamicInputScreenState extends State { if (tempDate.contains("00:00:00")) { tempDate = tempDate.replaceAll("00:00:00", '').trim(); } - if(tempDate.contains("/")) { + if (tempDate.contains("/")) { selectedDate = DateFormat("yyyy/MM/dd").parse(tempDate); } else { selectedDate = DateFormat("yyyy-MM-dd").parse(tempDate); } - } else { selectedDate = DateTime.parse(getEitDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!); } @@ -329,10 +575,10 @@ class _DynamicInputScreenState extends State { getEitDffStructureList![index].eSERVICESDV = eservicesdv; setState(() {}); if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) { - calGetValueSetValues(model); + await calGetValueSetValues(model); } if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) { - getDefaultValues(model); + await getDefaultValues(model); } }, ).paddingOnly(bottom: 12); @@ -350,7 +596,7 @@ class _DynamicInputScreenState extends State { itemBuilder: (_) => >[ for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem(child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!), value: i), ], - onSelected: (int popipIndex) { + onSelected: (int popipIndex) async { ESERVICESDV eservicesdv = ESERVICESDV( pIDCOLUMNNAME: model.eSERVICESVS![popipIndex].iDCOLUMNNAME, pRETURNMSG: "null", @@ -359,10 +605,10 @@ class _DynamicInputScreenState extends State { getEitDffStructureList![index].eSERVICESDV = eservicesdv; setState(() {}); if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) { - calGetValueSetValues(model); + await calGetValueSetValues(model); } if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) { - getDefaultValues(model); + await getDefaultValues(model); } }); } @@ -383,7 +629,7 @@ class _DynamicInputScreenState extends State { itemBuilder: (_) => >[ for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem(child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!), value: i), ], - onSelected: (int popipIndex) { + onSelected: (int popipIndex) async { ESERVICESDV eservicesdv = ESERVICESDV( pIDCOLUMNNAME: model.eSERVICESVS![popipIndex].iDCOLUMNNAME, pRETURNMSG: "null", @@ -392,10 +638,10 @@ class _DynamicInputScreenState extends State { getEitDffStructureList![index].eSERVICESDV = eservicesdv; setState(() {}); if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) { - calGetValueSetValues(model); + await calGetValueSetValues(model); } if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) { - getDefaultValues(model); + await getDefaultValues(model); } }); } @@ -442,10 +688,10 @@ class _DynamicInputScreenState extends State { getEitDffStructureList![index].eSERVICESDV = eservicesdv; setState(() {}); if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) { - calGetValueSetValues(model); + await calGetValueSetValues(model); } if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) { - getDefaultValues(model); + await getDefaultValues(model); } }, ).paddingOnly(bottom: 12); @@ -472,10 +718,10 @@ class _DynamicInputScreenState extends State { getEitDffStructureList![index].eSERVICESDV = eservicesdv; setState(() {}); if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) { - calGetValueSetValues(model); + await calGetValueSetValues(model); } if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) { - getDefaultValues(model); + await getDefaultValues(model); } }, ).paddingOnly(bottom: 12); @@ -560,4 +806,59 @@ class _DynamicInputScreenState extends State { } return time; } + + String reverseFormatDate(String date) { + String formattedDate; + if (date.isNotEmpty) { + formattedDate = date.replaceAll('/', '-'); + formattedDate = formattedDate.replaceAll(' 00:00:00', ''); + } else { + formattedDate = date; + } + return formattedDate; + } + + String formatStandardDate(String date) { + String formattedDate; + if (date.isNotEmpty) { + formattedDate = date.replaceAll('-', '/'); + } else { + formattedDate = date; + } + return formattedDate; + } + + String reverseFormatStandardDate(String date) { + String formattedDate; + if (date.isNotEmpty) { + formattedDate = date.replaceAll('/', '-'); + } else { + formattedDate = date; + } + return formattedDate; + } + + String formatDate(String date) { + String formattedDate; + + if (date.isNotEmpty) { + date = date.substring(0, 10); + formattedDate = date.replaceAll('-', '/'); + formattedDate = formattedDate + ' 00:00:00'; + } else { + formattedDate = date; + } + return formattedDate; + } + + String formatDateNew(String date) { + String formattedDate; + if (date.isNotEmpty) { + formattedDate = date.split('T')[0]; + formattedDate = formattedDate + ' 00:00:00'; + } else { + formattedDate = date; + } + return formattedDate; + } } diff --git a/lib/ui/profile/basic_details.dart b/lib/ui/profile/basic_details.dart index d825c2b..c5d1eb7 100644 --- a/lib/ui/profile/basic_details.dart +++ b/lib/ui/profile/basic_details.dart @@ -17,6 +17,7 @@ class BasicDetails extends StatefulWidget { @override _BasicDetailsState createState() => _BasicDetailsState(); } +// TODO(Sultan): kindly follow structure of code written. use extension methods for widgets, use localization and format code class _BasicDetailsState extends State { String? fullName = "";