package com.citrus.sdk.response;
import android.os.Parcel;
import android.os.Parcelable;
import com.citrus.sdk.CitrusUser;
import com.citrus.sdk.classes.Amount;
import com.google.gson.annotations.SerializedName;
/**
* Created by salil on 29/4/15.
*/
public class PaymentResponse extends CitrusResponse implements Parcelable {
@SerializedName("id")
protected String transactionId = null;
@SerializedName("amount")
protected Amount transactionAmount = null;
@SerializedName("balance")
protected Amount balanceAmount = null;
@SerializedName("cutsomer")
protected String customer = null;
@SerializedName("merchant")
protected String merchantName = null;
@SerializedName("date")
protected String date = null;
protected CitrusUser user = null;
PaymentResponse() {
super();
}
public PaymentResponse(String message, Status status, String transactionId, Amount transactionAmount, Amount balanceAmount, CitrusUser user) {
super(message, status);
this.transactionId = transactionId;
this.transactionAmount = transactionAmount;
this.balanceAmount = balanceAmount;
this.user = user;
}
public String getTransactionId() {
return transactionId;
}
public Amount getTransactionAmount() {
return transactionAmount;
}
public Amount getBalanceAmount() {
return balanceAmount;
}
public CitrusUser getUser() {
return user;
}
public String getMerchantName() {
return merchantName;
}
public String getDate() {
return date;
}
public String getCustomer() {
return customer;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.transactionId);
dest.writeParcelable(this.transactionAmount, 0);
dest.writeParcelable(this.balanceAmount, 0);
dest.writeParcelable(this.user, 0);
dest.writeString(this.merchantName);
dest.writeString(this.date);
dest.writeString(this.message);
dest.writeInt(this.status == null ? -1 : this.status.ordinal());
}
private PaymentResponse(Parcel in) {
this.transactionId = in.readString();
this.transactionAmount = in.readParcelable(Amount.class.getClassLoader());
this.balanceAmount = in.readParcelable(Amount.class.getClassLoader());
this.user = in.readParcelable(CitrusUser.class.getClassLoader());
this.merchantName = in.readString();
this.date = in.readString();
this.message = in.readString();
int tmpStatus = in.readInt();
this.status = tmpStatus == -1 ? null : Status.values()[tmpStatus];
}
public static final Parcelable.Creator<PaymentResponse> CREATOR = new Parcelable.Creator<PaymentResponse>() {
public PaymentResponse createFromParcel(Parcel source) {
return new PaymentResponse(source);
}
public PaymentResponse[] newArray(int size) {
return new PaymentResponse[size];
}
};
@Override
public String toString() {
return "PaymentResponse{" +
"transactionId='" + transactionId + '\'' +
", transactionAmount=" + transactionAmount +
", balanceAmount=" + balanceAmount +
", user=" + user +
", merchantName='" + merchantName + '\'' +
", date='" + date + '\'' +
'}';
}
}