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. 73
      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
);
} }
} }

73
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 {
@ -50,15 +47,31 @@ public class RecipientV2Presenter extends BasePresenter implements RecipientV2Pr
public void addRecipient(String firstName, String middleName, String lastName, CountryDetailModel selectedCountry, public void addRecipient(String firstName, String middleName, String lastName, CountryDetailModel selectedCountry,
ProvinceDetailModel selectedProvince, DistrictDetailModel selectedDistrict, ProvinceDetailModel selectedProvince, DistrictDetailModel selectedDistrict,
String address, RelationDetailModel selectedRelation, String mobileNo, String email, TransferDetailModel selectedTransfer) { String address, RelationDetailModel selectedRelation, String mobileNo, String email, TransferDetailModel selectedTransfer) {
if(checkStringNotEmpty(firstName)&&
checkStringNotEmpty(lastName)&&
checkStringNotEmpty(address)&&
checkStringNotEmpty(mobileNo)&&
validateLocation(selectedCountry,selectedProvince,selectedDistrict))
{
}
else
if (checkStringNotEmpty(firstName) &&
checkStringNotEmpty(lastName) &&
checkStringNotEmpty(address) &&
checkStringNotEmpty(mobileNo) &&
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
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