Preyea Regmi
6 years ago
19 changed files with 414 additions and 45 deletions
-
8app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/gateway/HomeV2Gateway.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/model/UserInfoModelV2.java
-
6app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2Presenter.java
-
1app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/presenter/HomeV2PresenterInterface.java
-
28app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java
-
25app/src/main/java/com/gmeremit/online/gmeremittance_native/user_profile/view/ProfileActivity.java
-
3app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java
-
13app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java
-
37app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/gateway/WithdrawV2Gateway.java
-
42app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundOperationResponse.java
-
53app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundRelatedMetaDataModel.java
-
41app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundRelatedMetaDataResponse.java
-
5app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2InteractorInterface.java
-
93app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2Presenter.java
-
5app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2PresenterInterface.java
-
90app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/view/WithdrawV2Activity.java
-
2app/src/main/res/layout/activity_profile.xml
-
4app/src/main/res/layout/activity_withdraw_v2.xml
-
1app/src/main/res/layout/nav_drawer_fragment.xml
@ -0,0 +1,42 @@ |
|||
package com.gmeremit.online.gmeremittance_native.withdrawV2.model; |
|||
|
|||
import com.google.gson.annotations.Expose; |
|||
import com.google.gson.annotations.SerializedName; |
|||
|
|||
public class RefundOperationResponse { |
|||
|
|||
|
|||
@SerializedName("ErrorCode") |
|||
@Expose |
|||
private String errorCode; |
|||
@SerializedName("Msg") |
|||
@Expose |
|||
private String msg; |
|||
@SerializedName("Data") |
|||
@Expose |
|||
private Object data; |
|||
|
|||
public String getErrorCode() { |
|||
return errorCode; |
|||
} |
|||
|
|||
public void setErrorCode(String errorCode) { |
|||
this.errorCode = errorCode; |
|||
} |
|||
|
|||
public String getMsg() { |
|||
return msg; |
|||
} |
|||
|
|||
public void setMsg(String msg) { |
|||
this.msg = msg; |
|||
} |
|||
|
|||
public Object getData() { |
|||
return data; |
|||
} |
|||
|
|||
public void setData(Object data) { |
|||
this.data = data; |
|||
} |
|||
} |
@ -0,0 +1,53 @@ |
|||
package com.gmeremit.online.gmeremittance_native.withdrawV2.model; |
|||
|
|||
import com.google.gson.annotations.Expose; |
|||
import com.google.gson.annotations.SerializedName; |
|||
|
|||
public class RefundRelatedMetaDataModel { |
|||
|
|||
@SerializedName("Username") |
|||
@Expose |
|||
private String username; |
|||
@SerializedName("Amount") |
|||
@Expose |
|||
private String amount; |
|||
@SerializedName("ChargeAmount") |
|||
@Expose |
|||
private String chargeAmount; |
|||
@SerializedName("UserId") |
|||
@Expose |
|||
private String userId; |
|||
|
|||
public String getUsername() { |
|||
return username; |
|||
} |
|||
|
|||
public void setUsername(String username) { |
|||
this.username = username; |
|||
} |
|||
|
|||
public String getAmount() { |
|||
return amount; |
|||
} |
|||
|
|||
public void setAmount(String amount) { |
|||
this.amount = amount; |
|||
} |
|||
|
|||
public String getChargeAmount() { |
|||
return chargeAmount; |
|||
} |
|||
|
|||
public void setChargeAmount(String chargeAmount) { |
|||
this.chargeAmount = chargeAmount; |
|||
} |
|||
|
|||
public String getUserId() { |
|||
return userId; |
|||
} |
|||
|
|||
public void setUserId(String userId) { |
|||
this.userId = userId; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,41 @@ |
|||
package com.gmeremit.online.gmeremittance_native.withdrawV2.model; |
|||
|
|||
import com.google.gson.annotations.Expose; |
|||
import com.google.gson.annotations.SerializedName; |
|||
|
|||
public class RefundRelatedMetaDataResponse { |
|||
|
|||
@SerializedName("ErrorCode") |
|||
@Expose |
|||
private String errorCode; |
|||
@SerializedName("Msg") |
|||
@Expose |
|||
private String msg; |
|||
@SerializedName("Data") |
|||
@Expose |
|||
private RefundRelatedMetaDataModel data; |
|||
|
|||
public String getErrorCode() { |
|||
return errorCode; |
|||
} |
|||
|
|||
public void setErrorCode(String errorCode) { |
|||
this.errorCode = errorCode; |
|||
} |
|||
|
|||
public String getMsg() { |
|||
return msg; |
|||
} |
|||
|
|||
public void setMsg(String msg) { |
|||
this.msg = msg; |
|||
} |
|||
|
|||
public RefundRelatedMetaDataModel getData() { |
|||
return data; |
|||
} |
|||
|
|||
public void setData(RefundRelatedMetaDataModel data) { |
|||
this.data = data; |
|||
} |
|||
} |
@ -1,23 +1,116 @@ |
|||
package com.gmeremit.online.gmeremittance_native.withdrawV2.presenter; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.base.BasePresenter; |
|||
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog; |
|||
import com.gmeremit.online.gmeremittance_native.utils.Constants; |
|||
import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse; |
|||
import com.gmeremit.online.gmeremittance_native.withdrawV2.gateway.WithdrawV2Gateway; |
|||
import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundOperationResponse; |
|||
import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundRelatedMetaDataResponse; |
|||
|
|||
import io.reactivex.Scheduler; |
|||
import io.reactivex.android.schedulers.AndroidSchedulers; |
|||
import io.reactivex.disposables.CompositeDisposable; |
|||
import io.reactivex.schedulers.Schedulers; |
|||
|
|||
public class WithdrawV2Presenter extends BasePresenter implements WithdrawV2PresenterInterface,WithdrawV2InteractorInterface { |
|||
|
|||
private final WithdrawV2ContractInterface view; |
|||
private final WithdrawV2GatewayInterface gateway; |
|||
private final CompositeDisposable compositeDisposables; |
|||
private String serviceCharge; |
|||
|
|||
public WithdrawV2Presenter(WithdrawV2ContractInterface view) { |
|||
this.view=view; |
|||
this.gateway=new WithdrawV2Gateway(this); |
|||
compositeDisposables=new CompositeDisposable(); |
|||
serviceCharge=null; |
|||
} |
|||
|
|||
|
|||
@Override |
|||
public void validateAndPerformAutoRefund(String amount) { |
|||
if(true) |
|||
{ |
|||
compositeDisposables.add( |
|||
this.gateway.performWithdrawMoney(amount,this.gateway.getAuth()) |
|||
.doOnSubscribe(action->view.showProgressBar(true,"Performing transaction...")) |
|||
.doFinally(()->view.showProgressBar(false,"")) |
|||
.subscribeOn(Schedulers.io()) |
|||
.observeOn(AndroidSchedulers.mainThread()) |
|||
.subscribeWith(new WithdrawOperationDataObserver()) |
|||
);} |
|||
else |
|||
{ |
|||
view.showToastMessage("Amount cannot be minimum than "+serviceCharge); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public void getRequiredData() { |
|||
compositeDisposables.add( |
|||
this.gateway.getWithdrawRelatedData(this.gateway.getUserID(),this.gateway.getAuth()) |
|||
.doOnSubscribe(action->view.showProgressBar(true,"Fetching user related data...")) |
|||
.doFinally(()->view.showProgressBar(false,"")) |
|||
.subscribeOn(Schedulers.io()) |
|||
.observeOn(AndroidSchedulers.mainThread()) |
|||
.subscribeWith(new WithdrawRelatedDataObserver()) |
|||
); |
|||
} |
|||
|
|||
|
|||
class WithdrawRelatedDataObserver extends GenericApiObserverResponse<RefundRelatedMetaDataResponse> |
|||
{ |
|||
|
|||
@Override |
|||
protected void onSuccess(RefundRelatedMetaDataResponse refundRelatedMetaDataResponse) { |
|||
if(refundRelatedMetaDataResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) |
|||
{ |
|||
view.updateAvailableBalance(refundRelatedMetaDataResponse.getData().getAmount()); |
|||
view.updateServiceCharge(refundRelatedMetaDataResponse.getData().getChargeAmount()); |
|||
serviceCharge=refundRelatedMetaDataResponse.getData().getChargeAmount(); |
|||
} |
|||
else |
|||
{ |
|||
view.showPopUpMessage(refundRelatedMetaDataResponse.getMsg(),CustomAlertDialog.AlertType.FAILED,alertType -> view.exitView()); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public void onFailed(String message) { |
|||
view.showPopUpMessage(message,CustomAlertDialog.AlertType.FAILED,alertType -> view.exitView()); |
|||
|
|||
} |
|||
|
|||
@Override |
|||
protected void onConnectionNotEstablished(String message) { |
|||
view.showPopUpMessage(message,CustomAlertDialog.AlertType.NO_INTERNET,alertType -> view.exitView()); |
|||
} |
|||
} |
|||
|
|||
class WithdrawOperationDataObserver extends GenericApiObserverResponse<RefundOperationResponse> |
|||
{ |
|||
|
|||
@Override |
|||
protected void onSuccess(RefundOperationResponse refundOperationResponse) { |
|||
if(refundOperationResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) |
|||
{ |
|||
view.showPopUpMessage(refundOperationResponse.getMsg(),CustomAlertDialog.AlertType.SUCCESS,alertType -> view.exitView()); |
|||
} |
|||
else |
|||
{ |
|||
view.showPopUpMessage(refundOperationResponse.getMsg(),CustomAlertDialog.AlertType.FAILED,null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public void onFailed(String message) { |
|||
view.showPopUpMessage(message,CustomAlertDialog.AlertType.FAILED,null); |
|||
} |
|||
|
|||
@Override |
|||
protected void onConnectionNotEstablished(String message) { |
|||
view.showPopUpMessage(message,CustomAlertDialog.AlertType.NO_INTERNET,null); |
|||
} |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue