diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/gateway/recipientaddeditV3/RecipientAddV3Gateway.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/gateway/recipientaddeditV3/RecipientAddV3Gateway.java index beb1db9f..22237a80 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/gateway/recipientaddeditV3/RecipientAddV3Gateway.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/gateway/recipientaddeditV3/RecipientAddV3Gateway.java @@ -26,8 +26,8 @@ public class RecipientAddV3Gateway extends PrivilegedGateway implements Recipien // jsonObject.addProperty("countryId",countryId); // jsonObject.addProperty("serviceType",serviceType); senderId="1"; - countryId="104"; - serviceType="2"; + countryId="203"; + serviceType="1"; return HttpClientV2.getInstance().getDynamicFields(auth,senderId,countryId,serviceType); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/model/recipientaddeditV3/dynamicvalidation/PayoutProvincesModel.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/model/recipientaddeditV3/dynamicvalidation/PayoutProvincesModel.java index 92883a8f..166405e1 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/model/recipientaddeditV3/dynamicvalidation/PayoutProvincesModel.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/model/recipientaddeditV3/dynamicvalidation/PayoutProvincesModel.java @@ -13,7 +13,7 @@ public class PayoutProvincesModel { @SerializedName("text") @Expose private String text; - @SerializedName("districts") + @SerializedName("District") @Expose private List districts = null; diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java index 36040f39..5b69dc07 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java @@ -443,8 +443,7 @@ public class RecipientDetailValidatorV3 { //After successfull update of selected bank, determine weather it has corresponding dependency or not. // If dependency are there, override thee validation rule and manage the data - //TODO Really required? - //view.updateValueToWidgetAccountNo(recipientInfo.getAgent().getAccountNo()); + view.updateValueToWidgetAccountNo(recipientInfo.getAgent().getAccountNo()); //If any of the condition match, reset branch data ValidationRuleModel branchValidationRule = validationRuleModelMap.get(FIELD_BRANCH_NAME); @@ -895,9 +894,11 @@ public class RecipientDetailValidatorV3 { } - public void validateEditableDataFieldsExplicitly() { + public void validateFieldsExplicitly() { selectedCountryService = getSelectedCountryServiceFromCountryCode(recipientInfo.getCountryCode()); + + Iterator it = validationRuleModelMap.entrySet().iterator(); while (it.hasNext()) { Map.Entry pair = (Map.Entry) it.next(); @@ -906,7 +907,20 @@ public class RecipientDetailValidatorV3 { switch (rule.getField()) { - + //Enforcing dynamic validating rule with drop down value bankList's isBranchRequired + case FIELD_BRANCH_NAME: + if (rule.isFieldRequired()) { + if (recipientInfo.getAgent() != null) { + PaymentBankModel selectedBank = availableDynamicValidationModel.getBankFromId(recipientInfo.getAgent().getId()); + if (selectedBank != null && !"True".equalsIgnoreCase(selectedBank.getBranchRequired())) { + view.updateValidationRuleToWidgetBranchName(false, null); + rule.updateValidity(true); + recipientInfo.getAgent().setBranch(null); + } + + } + } + break; case FIELD_ACCOUNT_NO: if (recipientInfo.getAgent() == null) @@ -916,7 +930,6 @@ public class RecipientDetailValidatorV3 { break; - case FIELD_ID_NUMBER: updateIdNumber(recipientInfo.getIdNumber()); break; diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java index bb266f23..6b381ec5 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java @@ -12,7 +12,6 @@ import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientadded import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientaddeditV3.dynamicvalidation.ValidationRuleModel; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientlistingV3.AgentV3Model; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientlistingV3.BranchV3Model; -import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientlistingV3.PaymentMethodV3Model; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientlistingV3.ReceiverInfoV3Model; import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.RecipientAddEditBaseV3Presenter; import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.RecipientAddV3ContractInterface; @@ -142,7 +141,7 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter im mockDynamicValidationList(); - validator.validateEditableDataFieldsExplicitly(); + validator.validateFieldsExplicitly(); } @@ -302,7 +301,7 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter im //Map existing data to view and validator applyValidationRulesToView(data.getData().getValidationRuleList()); - validator.validateEditableDataFieldsExplicitly(); + validator.validateFieldsExplicitly(); } else { view.showPopUpMessage(data.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView());