Browse Source

Select different bank prompted on payout partner change

master
Preyea Regmi 5 years ago
parent
commit
b25173ae91
  1. 4
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientAddV3ContractInterface.java
  2. 11
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java
  3. 6
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java
  4. 5
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java

4
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientAddV3ContractInterface.java

@ -123,6 +123,7 @@ public interface RecipientAddV3ContractInterface extends BaseContractInterface
void setErrorOnWidgetBank(String message);
void setErrorOnWidgetAccountNo(String error);
@ -152,6 +153,8 @@ public interface RecipientAddV3ContractInterface extends BaseContractInterface
void setErrorOnWidgetLocalFullName(String error);
void showMobilePrefixAndFlag(String prefix,int flag);
void onEditSuccess(String recipientIdToBeUpdated);
@ -212,4 +215,5 @@ public interface RecipientAddV3ContractInterface extends BaseContractInterface
void addOptionalAsHintToWidgetEmail(Boolean isOptional);
void addOptionalAsHintToWidgetNativeCountry(Boolean isOptional);
}

11
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java

@ -446,6 +446,7 @@ public class RecipientDetailValidatorV3 {
recipientInfo.updateSelectedBank(selectedBank);
validationRuleModel.updateValidity(true);
view.updateValueToWidgetBankName(selectedBank.toString());
view.setErrorOnWidgetBank(null);
//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
@ -1109,4 +1110,14 @@ public class RecipientDetailValidatorV3 {
}
}
//Prompt user to select different bank incase of partner is changed by server
//Don't clear the data, just show error message and disable update button for the moment
public void updateBankValidationWhenPartnerHasChanged() {
ValidationRuleModel validationRuleModel = validationRuleModelMap.get(FIELD_BANK_NAME);
if(validationRuleModel!=null)
{
view.setErrorOnWidgetBank("Please select a different bank");
view.setSubmitButtonEnabled(false);
}
}
}

6
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java

@ -41,11 +41,14 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
private final RecipientAddEditV3GatewayInterface gateway;
private final CompositeDisposable compositeDisposable;
private final boolean hasPartnerChanged;
public RecipientEditV3Presenter(RecipientAddEditV3GatewayInterface gateway, RecipientAddV3ContractInterface view, ReceiverInfoV3Model receiverInfoV3Model) {
super(view, new RecipientDetailValidatorV3(view, receiverInfoV3Model, gateway, GmeApplication.getStringExtractor()));
this.gateway = gateway;
this.compositeDisposable = new CompositeDisposable();
this.hasPartnerChanged=receiverInfoV3Model.hasPartnerChanged();
getNativeCountryList();
// mockCountryServiceDetail();
@ -307,6 +310,9 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter {
applyValidationRulesToView(data.getData().getValidationRuleList());
validator.validateFieldsExplicitly();
if(hasPartnerChanged) {
validator.updateBankValidationWhenPartnerHasChanged();
}
} else {
validator.getRecipientDetail().setPaymentMethod(null);

5
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java

@ -890,6 +890,11 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien
recieverNativeCountryViewContainer.setVisibility(GONE);
}
@Override
public void setErrorOnWidgetBank(String error) {
recieverBankSelectionFormInputField.updateErrorSafely(error);
}
@Override
public void setErrorOnWidgetAccountNo(String error) {

Loading…
Cancel
Save