diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/model/recipientlistingV3/ReceiverInfoV3Model.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/model/recipientlistingV3/ReceiverInfoV3Model.java index f47828af..c9b30314 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/model/recipientlistingV3/ReceiverInfoV3Model.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/model/recipientlistingV3/ReceiverInfoV3Model.java @@ -335,16 +335,7 @@ public class ReceiverInfoV3Model implements Parcelable { this.payoutPartner = payoutPartner; } - public void updateSelectedCountry(CountryServiceModel selectedCountry) - { - - this.country = selectedCountry.getCountryName(); - this.countryId = selectedCountry.getCountryId(); - this.countryCode = selectedCountry.getCountryCode(); - - printLog(); - } public void updateSelectedServiceTypeData(ServiceTypeModel selectedServiceType) { this.agent=new AgentV3Model(selectedServiceType.getId(),selectedServiceType.getDescription(),"",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 d4ec994a..1b14a204 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 @@ -127,6 +127,18 @@ public class RecipientDetailValidatorV3 { } + public void updateSelectedCountry(CountryServiceModel selectedCountryServiceData) { + recipientInfo.setCountryId(selectedCountryServiceData.getCountryId()); + recipientInfo.setCountryCode(selectedCountryServiceData.getCountryCode()); + recipientInfo.setCountry(selectedCountryServiceData.getCountryName()); + + //TODO Reset Selected dependency here + + recipientInfo.setPaymentMethod(null); + view.updateValueToWidgetSelectedPaymentMethod(null); + + } + public void updateAccountNo(String text) { ValidationRuleModel validationRuleModel = validationRuleModelMap.get(FIELD_ACCOUNT_NO); @@ -536,8 +548,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetBankName(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_BANK_NAME, rule); + } else { recipientInfo.setAgent(null); } @@ -548,8 +562,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetBranchName(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_BRANCH_NAME, rule); + } else { AgentV3Model agentV3Model = recipientInfo.getAgent(); if (agentV3Model != null) { @@ -564,8 +580,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetAccountNo(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_ACCOUNT_NO, rule); + } else { AgentV3Model agentV3Model = recipientInfo.getAgent(); if (agentV3Model != null) { @@ -579,8 +597,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetIDType(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_ID_TYPE, rule); + } else { recipientInfo.setIdType(null); } @@ -591,8 +611,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetIDNumber(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_ID_NUMBER, rule); + } else { recipientInfo.setIdNumber(null); } @@ -603,8 +625,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetFirstName(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_FIRST_NAME, rule); + } else { recipientInfo.setFirstName(null); } @@ -616,8 +640,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetMiddleName(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_MIDDLE_NAME, rule); + } else { recipientInfo.setMiddleName(null); } @@ -629,8 +655,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetLastName(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_LAST_NAME, rule); + } else { recipientInfo.setLastName(null); } @@ -642,8 +670,12 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetFullName(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + if(recipientInfo.getFullName()!=null&&recipientInfo.getFullName().length()>0) + rule.updateValidity(true); validationRuleModelMap.put(FIELD_FULL_NAME, rule); + + } else { recipientInfo.setFullName(null); } @@ -654,8 +686,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetLocalFirstName(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_FIRST_NAME_IN_LOCAL, rule); + } else { recipientInfo.setLocalFirstName(null); } @@ -666,8 +700,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetLocalMiddleName(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_MIDDLE_NAME_IN_LOCAL, rule); + } else { recipientInfo.setLocalMiddleName(null); } @@ -678,8 +714,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetLocalLastName(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_LAST_NAME_IN_LOCAL, rule); + } else { recipientInfo.setLocalLastName(null); } @@ -690,8 +728,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetLocalFullName(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_LOCAL_NAME, rule); + } else { recipientInfo.setLocalFullName(null); } @@ -702,8 +742,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetMobileNumber(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_MOBILE_NUMBER, rule); + } else { recipientInfo.setMobile(null); } @@ -714,8 +756,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetProvince(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_PROVINCE, rule); + } else { recipientInfo.setStateId(null); recipientInfo.setState(null); @@ -727,8 +771,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetDistrict(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_DISTRICT, rule); + } else { recipientInfo.setDistrictId(null); recipientInfo.setDistrict(null); @@ -740,8 +786,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetCity(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_CITY, rule); + } else { recipientInfo.setCity(null); } @@ -753,6 +801,7 @@ public class RecipientDetailValidatorV3 { EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); if (isFieldRequired) { + //TODO Update validate flag to true if has data if (recipientInfo.getAddress() != null && recipientInfo.getAddress().length() > 0) rule.updateValidity(true); validationRuleModelMap.put(FIELD_ADDRESS, rule); @@ -767,8 +816,9 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetRelation(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { validationRuleModelMap.put(FIELD_REALATION_GROUP, rule); + } else { recipientInfo.setRelationshipId(null); recipientInfo.setRelationship(null); @@ -780,8 +830,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetTransferReason(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_TRANSFER_REASON, rule); + } else { recipientInfo.setPurposeOfRemitId(null); recipientInfo.setPurposeOfRemit(null); @@ -793,8 +845,10 @@ public class RecipientDetailValidatorV3 { view.updateValidationRuleToWidgetEmail(isFieldRequired, EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(), rule.getMaxFieldLengthInt())); - if (isFieldRequired) + if (isFieldRequired) { + //TODO Update validate flag to true if has data validationRuleModelMap.put(FIELD_EMAIL, rule); + } else { recipientInfo.setEmail(null); } @@ -810,12 +864,12 @@ public class RecipientDetailValidatorV3 { private void validateAll() { boolean areAllFormValid = true; - Iterator it = validationRuleModelMap.entrySet().iterator(); + Log.d(ValidationRuleModel.class.getSimpleName().toString(), "Validation rule size is : "+validationRuleModelMap.size()); while (it.hasNext()) { Map.Entry pair = (Map.Entry) it.next(); + Log.d(ValidationRuleModel.class.getSimpleName().toString(), "Validation status for " + pair.getValue().getField()+" is : "+pair.getValue().hasValidValue()); if (!pair.getValue().hasValidValue()) { - Log.d(ValidationRuleModel.class.getSimpleName().toString(), "Validation failed for " + pair.getValue().getField()); areAllFormValid = false; break; } @@ -885,7 +939,7 @@ public class RecipientDetailValidatorV3 { break; case FIELD_LAST_NAME_IN_LOCAL: - updateLastName(recipientInfo.getLocalLastName()); + updateLastNameLocal(recipientInfo.getLocalLastName()); break; case FIELD_LOCAL_NAME: @@ -932,5 +986,10 @@ public class RecipientDetailValidatorV3 { } } + private boolean checkStringNotEmpty(String data) { + return data != null && data.length() > 0; + } + + } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java index 896bf97d..4f5a8003 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java @@ -135,7 +135,7 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter imp flushPaymentMethodRelatedDataOnServiceTypeSelected(); - validator.getRecipientDetail().updateSelectedCountry(validator.getSelectedCountryServiceData()); + validator.updateSelectedCountry(validator.getSelectedCountryServiceData()); validator.getRecipientDetail().setPaymentMethod(new PaymentMethodV3Model(selectedServiceType.getId(), selectedServiceType.getText(), selectedServiceType.getDescription(), selectedServiceType.getCurrency())); view.updateValueToWidgetSelectedPaymentMethod(selectedServiceType.getDescription()); 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 23787515..7add9efb 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 @@ -63,11 +63,10 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter im @Override public void onCountryServiceSelected(CountryServiceModel selectedCountry) { - - validator.getRecipientDetail().updateSelectedCountry(validator.getSelectedCountryServiceData()); - validator.updateSelectedCountryServiceData(selectedCountry); + validator.updateSelectedCountry(selectedCountry); + view.updateValueToWidgetSelectedCountry(selectedCountry.getCountryName()); view.showSelectedCountryFlag(CountryFlagMapper.getFlagFromCountryCode(selectedCountry.getCountryCode())); @@ -330,10 +329,8 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter im //Map existing data to view and validator -// view.showCountrySelectionView(true); -// view.showPaymentSelectionView(true); applyValidationRulesToView(data.getData().getValidationRuleList()); - validator.validateAllRequiredFieldsExplicitly(); +// validator.validateAllRequiredFieldsExplicitly(); } else { view.showPopUpMessage(data.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView()); @@ -369,26 +366,28 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter im if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { validator.updateAvailableCountryServiceData(t.getData()); seedExistingDatatoView(); + showMobilePrefixAndFlag(validator.getRecipientDetail().getCountryCode()); if (validator.getRecipientDetail().getPaymentMethod() == null) { //Since payment method is not available at the moment we cannot show his existing mapped data view.updateValueToWidgetSelectedCountry(validator.getRecipientDetail().getCountry()); view.updateValueToWidgetSelectedPaymentMethod(""); + view.showCountrySelectionView(true); + view.showPaymentSelectionView(true); view.showSelectedCountryFlag(CountryFlagMapper.getFlagFromCountryCode(validator.getRecipientDetail().getCountryCode())); } else { - seedExistingDatatoView(); String countryId = validator.getRecipientDetail().getCountryId(); String serviceTypeID = validator.getRecipientDetail().getPaymentMethod().getId(); + getDynamicValidationAndDropDownList(countryId, serviceTypeID); } - view.showCountrySelectionView(true); - view.showPaymentSelectionView(true); + } else {