Browse Source

Add recipient api call successful

master
preyearegmi 6 years ago
parent
commit
fa0072d5ee
  1. 4
      app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGateway.java
  2. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGatewayInterface.java
  3. 7
      app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/CustomAlertDialog.java
  4. 21
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/gateway/RecipientV2Gateway.java
  5. 227
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/AddRecipientApiModel.java
  6. 52
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/AddRecipientApiResponse.java
  7. 5
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/DistrictDetailModel.java
  8. 7
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/ProvinceDetailModel.java
  9. 5
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/RelationDetailModel.java
  10. 5
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/TransferDetailModel.java
  11. 16
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/RecipientV2InteractorInterface.java
  12. 63
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/RecipientV2Presenter.java
  13. 1
      app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java
  14. 6
      app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java

4
app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGateway.java

@ -3,6 +3,10 @@ package com.gmeremit.online.gmeremittance_native.base;
import com.gmeremit.online.gmeremittance_native.GmeApplication; import com.gmeremit.online.gmeremittance_native.GmeApplication;
public abstract class PrivilegedGateway implements PrivilegedGatewayInterface { public abstract class PrivilegedGateway implements PrivilegedGatewayInterface {
@Override
public String getUserID() {
return GmeApplication.getStorage().getString("USER_ID","");
}
@Override @Override
public String getAuth(){ public String getAuth(){

2
app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGatewayInterface.java

@ -5,4 +5,6 @@ import com.gmeremit.online.gmeremittance_native.GmeApplication;
public interface PrivilegedGatewayInterface extends BaseGatewayInterface { public interface PrivilegedGatewayInterface extends BaseGatewayInterface {
String getAuth(); String getAuth();
String getUserID();
} }

7
app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/CustomAlertDialog.java

@ -54,6 +54,11 @@ public class CustomAlertDialog extends DialogFragment {
case NO_INTERNET: case NO_INTERNET:
imgStatusImgView.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.no_internet)); imgStatusImgView.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.no_internet));
dialogTitleTxt.setText("Connection Failed"); dialogTitleTxt.setText("Connection Failed");
break;
case SUCCESS:
imgStatusImgView.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.alert));
dialogTitleTxt.setText("Success");
break; break;
default: default:
@ -112,7 +117,7 @@ public class CustomAlertDialog extends DialogFragment {
} }
public enum AlertType { public enum AlertType {
NO_INTERNET, FAILED, ALERT, BAD_REQUEST
SUCCESS,NO_INTERNET, FAILED, ALERT, BAD_REQUEST
} }

21
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/gateway/RecipientV2Gateway.java

@ -1,11 +1,13 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.gateway; package com.gmeremit.online.gmeremittance_native.recipientV2.gateway;
import com.gmeremit.online.gmeremittance_native.base.PrivilegedGateway; import com.gmeremit.online.gmeremittance_native.base.PrivilegedGateway;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.AddRecipientApiResponse;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RecipientRelatedDataApiResponse; import com.gmeremit.online.gmeremittance_native.recipientV2.model.RecipientRelatedDataApiResponse;
import com.gmeremit.online.gmeremittance_native.recipientV2.presenter.RecipientV2InteractorInterface; import com.gmeremit.online.gmeremittance_native.recipientV2.presenter.RecipientV2InteractorInterface;
import com.gmeremit.online.gmeremittance_native.utils.https.HttpClientV2; import com.gmeremit.online.gmeremittance_native.utils.https.HttpClientV2;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
import io.reactivex.Observable; import io.reactivex.Observable;
@ -188,4 +190,23 @@ public class RecipientV2Gateway extends PrivilegedGateway implements RecipientV2
// //
return HttpClientV2.getInstance().getRecipientRelatedDataV2(auth); return HttpClientV2.getInstance().getRecipientRelatedDataV2(auth);
} }
@Override
public Observable<AddRecipientApiResponse> addRecipientAndSendToServer(String auth, String userId, String firstname, String middleName, String lastName, String country, String state, String district, String address, String relation, String mobileNo, String email, String transferReason) {
JsonObject jsonObject=new JsonObject();
jsonObject.addProperty("FirstName",firstname);
jsonObject.addProperty("MiddleName",middleName);
jsonObject.addProperty("LastName",lastName);
jsonObject.addProperty("Country",country);
jsonObject.addProperty("State",state);
jsonObject.addProperty("District",district);
jsonObject.addProperty("Address",address);
jsonObject.addProperty("Relation",relation);
jsonObject.addProperty("MobileNo",mobileNo);
jsonObject.addProperty("Email",email);
jsonObject.addProperty("TransferReason",transferReason);
return HttpClientV2.getInstance().addRecipientV2(auth,userId,jsonObject);
}
} }

227
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/AddRecipientApiModel.java

@ -0,0 +1,227 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class AddRecipientApiModel {
@SerializedName("mobileNumber")
@Expose
private String mobileNumber;
@SerializedName("district")
@Expose
private String district;
@SerializedName("reasonId")
@Expose
private String reasonId;
@SerializedName("relation")
@Expose
private String relation;
@SerializedName("country")
@Expose
private String country;
@SerializedName("dpUrl")
@Expose
private String dpUrl;
@SerializedName("city")
@Expose
private String city;
@SerializedName("relationId")
@Expose
private String relationId;
@SerializedName("countryId")
@Expose
private String countryId;
@SerializedName("state")
@Expose
private String state;
@SerializedName("email")
@Expose
private String email;
@SerializedName("middleName")
@Expose
private String middleName;
@SerializedName("firstName")
@Expose
private String firstName;
@SerializedName("recipientId")
@Expose
private String recipientId;
@SerializedName("reason")
@Expose
private String reason;
@SerializedName("districtId")
@Expose
private String districtId;
@SerializedName("stateId")
@Expose
private String stateId;
@SerializedName("lastName")
@Expose
private String lastName;
@SerializedName("address")
@Expose
private String address;
@SerializedName("userId")
@Expose
private String userId;
public String getMobileNumber() {
return mobileNumber;
}
public void setMobileNumber(String mobileNumber) {
this.mobileNumber = mobileNumber;
}
public String getDistrict() {
return district;
}
public void setDistrict(String district) {
this.district = district;
}
public String getReasonId() {
return reasonId;
}
public void setReasonId(String reasonId) {
this.reasonId = reasonId;
}
public String getRelation() {
return relation;
}
public void setRelation(String relation) {
this.relation = relation;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getDpUrl() {
return dpUrl;
}
public void setDpUrl(String dpUrl) {
this.dpUrl = dpUrl;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getRelationId() {
return relationId;
}
public void setRelationId(String relationId) {
this.relationId = relationId;
}
public String getCountryId() {
return countryId;
}
public void setCountryId(String countryId) {
this.countryId = countryId;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getMiddleName() {
return middleName;
}
public void setMiddleName(String middleName) {
this.middleName = middleName;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getRecipientId() {
return recipientId;
}
public void setRecipientId(String recipientId) {
this.recipientId = recipientId;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
public String getDistrictId() {
return districtId;
}
public void setDistrictId(String districtId) {
this.districtId = districtId;
}
public String getStateId() {
return stateId;
}
public void setStateId(String stateId) {
this.stateId = stateId;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
}

52
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/AddRecipientApiResponse.java

@ -0,0 +1,52 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class AddRecipientApiResponse {
@SerializedName("ErrorCode")
@Expose
private String errorCode;
@SerializedName("Msg")
@Expose
private String msg;
@SerializedName("Id")
@Expose
private String id;
@SerializedName("Data")
@Expose
private AddRecipientApiModel 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 String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public AddRecipientApiModel getData() {
return data;
}
public void setData(AddRecipientApiModel data) {
this.data = data;
}
}

5
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/DistrictDetailModel.java

@ -12,6 +12,11 @@ public class DistrictDetailModel {
@Expose @Expose
private String text; private String text;
public DistrictDetailModel() {
this.id="";
this.text="";
}
public String getId() { public String getId() {
return id; return id;
} }

7
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/ProvinceDetailModel.java

@ -3,6 +3,7 @@ package com.gmeremit.online.gmeremittance_native.recipientV2.model;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import java.util.ArrayList;
import java.util.List; import java.util.List;
public class ProvinceDetailModel { public class ProvinceDetailModel {
@ -17,6 +18,12 @@ public class ProvinceDetailModel {
@Expose @Expose
private List<DistrictDetailModel> district = null; private List<DistrictDetailModel> district = null;
public ProvinceDetailModel() {
this.id="";
this.text="";
this.district=new ArrayList<>();
}
public String getId() { public String getId() {
return id; return id;
} }

5
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/RelationDetailModel.java

@ -12,6 +12,11 @@ public class RelationDetailModel {
@Expose @Expose
private String text; private String text;
public RelationDetailModel() {
this.id="";
this.text="";
}
public String getId() { public String getId() {
return id; return id;
} }

5
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/model/TransferDetailModel.java

@ -12,6 +12,11 @@ public class TransferDetailModel {
@Expose @Expose
private String text; private String text;
public TransferDetailModel() {
this.id="";
this.text="";
}
public String getId() { public String getId() {
return id; return id;
} }

16
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/RecipientV2InteractorInterface.java

@ -2,6 +2,7 @@ package com.gmeremit.online.gmeremittance_native.recipientV2.presenter;
import com.gmeremit.online.gmeremittance_native.base.BaseInteractorInterface; import com.gmeremit.online.gmeremittance_native.base.BaseInteractorInterface;
import com.gmeremit.online.gmeremittance_native.base.PrivilegedGatewayInterface; import com.gmeremit.online.gmeremittance_native.base.PrivilegedGatewayInterface;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.AddRecipientApiResponse;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RecipientRelatedDataApiResponse; import com.gmeremit.online.gmeremittance_native.recipientV2.model.RecipientRelatedDataApiResponse;
import io.reactivex.Observable; import io.reactivex.Observable;
@ -12,5 +13,20 @@ public interface RecipientV2InteractorInterface extends BaseInteractorInterface
interface RecipientV2GatewayInterface extends PrivilegedGatewayInterface interface RecipientV2GatewayInterface extends PrivilegedGatewayInterface
{ {
Observable<RecipientRelatedDataApiResponse> getRelatedDataFromServer(String auth); Observable<RecipientRelatedDataApiResponse> getRelatedDataFromServer(String auth);
Observable<AddRecipientApiResponse> addRecipientAndSendToServer(String auth,
String userId,
String firstname,
String middleName,
String lastName,
String country,
String state,
String district,
String address,
String relation,
String mobileNo,
String email,
String transferReason
);
} }
} }

63
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/RecipientV2Presenter.java

@ -1,23 +1,20 @@
package com.gmeremit.online.gmeremittance_native.recipientV2.presenter; package com.gmeremit.online.gmeremittance_native.recipientV2.presenter;
import com.gmeremit.online.gmeremittance_native.agentsV2.gateway.AgentListV2Gateway;
import com.gmeremit.online.gmeremittance_native.base.BasePresenter; import com.gmeremit.online.gmeremittance_native.base.BasePresenter;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog; import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
import com.gmeremit.online.gmeremittance_native.recipientV2.gateway.RecipientV2Gateway; import com.gmeremit.online.gmeremittance_native.recipientV2.gateway.RecipientV2Gateway;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.AddRecipientApiResponse;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.CountryDetailModel; import com.gmeremit.online.gmeremittance_native.recipientV2.model.CountryDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.DistrictDetailModel; import com.gmeremit.online.gmeremittance_native.recipientV2.model.DistrictDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.ProvinceDetailModel; import com.gmeremit.online.gmeremittance_native.recipientV2.model.ProvinceDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RecipientRelatedDataApiResponse; import com.gmeremit.online.gmeremittance_native.recipientV2.model.RecipientRelatedDataApiResponse;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RelationDetailModel; import com.gmeremit.online.gmeremittance_native.recipientV2.model.RelationDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.TransferDetailModel; import com.gmeremit.online.gmeremittance_native.recipientV2.model.TransferDetailModel;
import com.gmeremit.online.gmeremittance_native.recipientV2.presenter.RecipientV2InteractorInterface;
import com.gmeremit.online.gmeremittance_native.recipientV2.presenter.RecipientV2PresenterInterface;
import com.gmeremit.online.gmeremittance_native.utils.Constants; import com.gmeremit.online.gmeremittance_native.utils.Constants;
import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse; import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable; import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.observers.DisposableObserver;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
public class RecipientV2Presenter extends BasePresenter implements RecipientV2PresenterInterface, RecipientV2InteractorInterface { public class RecipientV2Presenter extends BasePresenter implements RecipientV2PresenterInterface, RecipientV2InteractorInterface {
@ -54,11 +51,27 @@ public class RecipientV2Presenter extends BasePresenter implements RecipientV2Pr
checkStringNotEmpty(lastName) && checkStringNotEmpty(lastName) &&
checkStringNotEmpty(address) && checkStringNotEmpty(address) &&
checkStringNotEmpty(mobileNo) && checkStringNotEmpty(mobileNo) &&
validateLocation(selectedCountry,selectedProvince,selectedDistrict))
{
validateLocation(selectedCountry, selectedProvince, selectedDistrict)) {
this.compositeDisposable.add( this.gateway.addRecipientAndSendToServer(gateway.getAuth(),
gateway.getUserID(),
firstName, middleName, lastName,
selectedCountry.getId(),
(selectedProvince)==null?"":selectedProvince.getId(),
(selectedDistrict)==null?"":selectedDistrict.getId(),
address, selectedRelation.getId(),
mobileNo,
email,
selectedTransfer.getId()
)
.doOnSubscribe(disposable -> view.showProgressBar(true, "Adding Recipient..."))
.doFinally(() -> view.showProgressBar(false, ""))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new AddRecipientObserver())
);
}
else
} else
this.view.showToastMessage("Please fill up required details."); this.view.showToastMessage("Please fill up required details.");
} }
@ -66,11 +79,7 @@ public class RecipientV2Presenter extends BasePresenter implements RecipientV2Pr
private boolean validateLocation(CountryDetailModel country, ProvinceDetailModel province, DistrictDetailModel district) { private boolean validateLocation(CountryDetailModel country, ProvinceDetailModel province, DistrictDetailModel district) {
if (country != null) { if (country != null) {
if (country.getIsProvienceReq().equalsIgnoreCase(Constants.TRUE_STRING)) { if (country.getIsProvienceReq().equalsIgnoreCase(Constants.TRUE_STRING)) {
if (province == null) {
// this.view.showToastMessage("Select a province first.");
return false;
} else if (district == null) {
// this.view.showToastMessage("Select a district first.");
if (province == null||district==null) {
return false; return false;
} else } else
return true; return true;
@ -111,4 +120,32 @@ public class RecipientV2Presenter extends BasePresenter implements RecipientV2Pr
} }
} }
private class AddRecipientObserver extends GenericApiObserverResponse<AddRecipientApiResponse>
{
@Override
protected void onSuccess(AddRecipientApiResponse addRecipientApiResponse) {
if(addRecipientApiResponse.getErrorCode().equalsIgnoreCase(Constants.TRUE_STRING))
{
view.showToastMessage(addRecipientApiResponse.getMsg());
view.exitView();
}
else
{
view.showPopUpMessage(addRecipientApiResponse.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);
}
}
} }

1
app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java

@ -122,5 +122,6 @@ public class API_URL {
public static final String EXCHANGE_RATE_SERVICE="mobile/countriesServices"; public static final String EXCHANGE_RATE_SERVICE="mobile/countriesServices";
public static final String CALCULATE_EXCHANGE_RATE = "mobile/calculateDefExRate"; public static final String CALCULATE_EXCHANGE_RATE = "mobile/calculateDefExRate";
public static final String GET_ALL_RECIPIENT_INFO = "mobile/loadform/receiver"; public static final String GET_ALL_RECIPIENT_INFO = "mobile/loadform/receiver";
public static final String ADD_RECIPIENT_V2 = "mobile/receiver/save/";
} }

6
app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java

@ -33,6 +33,7 @@ import com.gmeremit.online.gmeremittance_native.recipient.model.request_data.Dis
import com.gmeremit.online.gmeremittance_native.recipient.model.request_data.Relation; import com.gmeremit.online.gmeremittance_native.recipient.model.request_data.Relation;
import com.gmeremit.online.gmeremittance_native.recipient.model.request_data.States; import com.gmeremit.online.gmeremittance_native.recipient.model.request_data.States;
import com.gmeremit.online.gmeremittance_native.recipient.model.response_data.AllReceipientResponseData; import com.gmeremit.online.gmeremittance_native.recipient.model.response_data.AllReceipientResponseData;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.AddRecipientApiResponse;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RecipientRelatedDataApiResponse; import com.gmeremit.online.gmeremittance_native.recipientV2.model.RecipientRelatedDataApiResponse;
import com.gmeremit.online.gmeremittance_native.reset_password.model.data.ResendCodeBodyRequest; import com.gmeremit.online.gmeremittance_native.reset_password.model.data.ResendCodeBodyRequest;
import com.gmeremit.online.gmeremittance_native.reset_password.model.data.ResetPasswordRequestBody; import com.gmeremit.online.gmeremittance_native.reset_password.model.data.ResetPasswordRequestBody;
@ -533,4 +534,9 @@ public interface ApiEndpoints {
@Headers("Content-Type: application/json") @Headers("Content-Type: application/json")
Observable<RecipientRelatedDataApiResponse> getRecipientRelatedDataV2(@Header("Authorization") String token); Observable<RecipientRelatedDataApiResponse> getRecipientRelatedDataV2(@Header("Authorization") String token);
@POST(API_URL.ADD_RECIPIENT_V2+"{uId}")
@Headers("Content-Type: application/json")
Observable<AddRecipientApiResponse> addRecipientV2(@Header("Authorization") String token, @Path("uId") String userName, @Body() JsonObject jsonObject);
} }
Loading…
Cancel
Save