From 104c8a98c99e12519fc09fb9da334b0cc2d67b8b Mon Sep 17 00:00:00 2001 From: cimenmus Date: Fri, 9 Feb 2018 00:07:12 +0300 Subject: [PATCH] coupon code --- .idea/misc.xml | 2 +- .../android/activity/CreateOrderActivity.java | 13 + .../android/activity/LoginActivity.java | 5 +- .../activity/ProductPropertiesActivity.java | 4 +- .../android/activity/SplashActivity.java | 5 +- .../PaymentMethodsRecyclerAdapter.java | 2 +- .../pizzalink/android/api/ApiEndPoints.java | 3 +- .../pizzalink/android/api/ApiInterface.java | 9 +- .../ProductPropertiesBottomSheetDialog.java | 4 +- .../android/fragment/CartFragment.java | 10 +- .../CreateOrderSummaryFragment.java | 2 +- .../createOrder/PaymentMethodFragment.java | 88 +++++- .../android/model/CheckCouponModel.java | 276 ++++++++++++++++++ .../android/model/cart/CartInfoModel.java | 16 + .../res/layout/fragment_payment_method.xml | 42 ++- app/src/main/res/layout/row_space_4dp.xml | 5 + app/src/main/res/values/strings.xml | 5 +- 17 files changed, 464 insertions(+), 27 deletions(-) create mode 100644 app/src/main/java/ch/pizzalink/android/model/CheckCouponModel.java create mode 100644 app/src/main/res/layout/row_space_4dp.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index cc72de3..ad53516 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,7 @@ - + diff --git a/app/src/main/java/ch/pizzalink/android/activity/CreateOrderActivity.java b/app/src/main/java/ch/pizzalink/android/activity/CreateOrderActivity.java index ab2fd33..a58aeb7 100644 --- a/app/src/main/java/ch/pizzalink/android/activity/CreateOrderActivity.java +++ b/app/src/main/java/ch/pizzalink/android/activity/CreateOrderActivity.java @@ -33,6 +33,7 @@ public class CreateOrderActivity extends BaseActivity { private PaymentMethodModel selectedPaymentMethod; private Boolean slicePizza; private String orderNote; + private String discountAmount; @Override protected void onCreate(Bundle savedInstanceState) { @@ -153,6 +154,10 @@ public class CreateOrderActivity extends BaseActivity { return cartInfoModel; } + public void setCartInfo(CartInfoModel cartInfoModel) { + this.cartInfoModel = cartInfoModel; + } + public ShippingMethodModel getSelectedShippingMethod(){ return selectedShippingMethod; } @@ -194,4 +199,12 @@ public class CreateOrderActivity extends BaseActivity { public void setSlicePizza(Boolean slicePizza) { this.slicePizza = slicePizza; } + + public String getDiscountAmount() { + return discountAmount; + } + + public void setDiscountAmount(String discountAmount) { + this.discountAmount = discountAmount; + } } diff --git a/app/src/main/java/ch/pizzalink/android/activity/LoginActivity.java b/app/src/main/java/ch/pizzalink/android/activity/LoginActivity.java index 1033cd5..d4bf507 100644 --- a/app/src/main/java/ch/pizzalink/android/activity/LoginActivity.java +++ b/app/src/main/java/ch/pizzalink/android/activity/LoginActivity.java @@ -16,6 +16,7 @@ import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; import ch.pizzalink.android.R; +import ch.pizzalink.android.api.ApiEndPoints; import ch.pizzalink.android.api.ApiErrorUtils; import ch.pizzalink.android.api.ApiService; import ch.pizzalink.android.api.ResponseObject; @@ -121,7 +122,7 @@ public class LoginActivity extends BaseActivity { private void getCartItemCount(){ Call> call = ApiService.apiInterface.getCartProducts( - SessionHelper.getCustomerToken().getToken()); + ApiEndPoints.API_GET_CART_PRODUCTS + SessionHelper.getCustomerToken().getToken()); call.enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) { @@ -130,7 +131,7 @@ public class LoginActivity extends BaseActivity { response.body().getData() != null && response.body().isSuccess()){ SharedPrefsHelper.setCartItemCount(response.body().getData().getProducts().size()); - SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getTotals().get(0).getText())); + SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getCartTotalModel().getText())); startActivity(new Intent(LoginActivity.this, MainActivity.class)); finishAffinity(); diff --git a/app/src/main/java/ch/pizzalink/android/activity/ProductPropertiesActivity.java b/app/src/main/java/ch/pizzalink/android/activity/ProductPropertiesActivity.java index 268f22c..0c6fa2a 100644 --- a/app/src/main/java/ch/pizzalink/android/activity/ProductPropertiesActivity.java +++ b/app/src/main/java/ch/pizzalink/android/activity/ProductPropertiesActivity.java @@ -344,7 +344,7 @@ public class ProductPropertiesActivity extends BaseActivity { private void getCartItemCount(){ Call> call = ApiService.apiInterface.getCartProducts( - SessionHelper.getCustomerToken().getToken()); + ApiEndPoints.API_GET_CART_PRODUCTS + SessionHelper.getCustomerToken().getToken()); call.enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) { @@ -353,7 +353,7 @@ public class ProductPropertiesActivity extends BaseActivity { response.body().getData() != null && response.body().isSuccess()){ SharedPrefsHelper.setCartItemCount(response.body().getData().getProducts().size()); - SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getTotals().get(0).getText())); + SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getCartTotalModel().getText())); /* MainActivity mainActivity = (MainActivity) getActivity(); diff --git a/app/src/main/java/ch/pizzalink/android/activity/SplashActivity.java b/app/src/main/java/ch/pizzalink/android/activity/SplashActivity.java index 6244ac1..41974ef 100644 --- a/app/src/main/java/ch/pizzalink/android/activity/SplashActivity.java +++ b/app/src/main/java/ch/pizzalink/android/activity/SplashActivity.java @@ -18,6 +18,7 @@ import java.util.HashMap; import butterknife.ButterKnife; import ch.pizzalink.android.R; import ch.pizzalink.android.api.ApiConstants; +import ch.pizzalink.android.api.ApiEndPoints; import ch.pizzalink.android.api.ApiErrorUtils; import ch.pizzalink.android.api.ApiService; import ch.pizzalink.android.api.ResponseArray; @@ -224,7 +225,7 @@ public class SplashActivity extends BaseActivity { private void getCartItemCount(){ Call> call = ApiService.apiInterface.getCartProducts( - SessionHelper.getCustomerToken().getToken()); + ApiEndPoints.API_GET_CART_PRODUCTS + SessionHelper.getCustomerToken().getToken()); call.enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) { @@ -232,7 +233,7 @@ public class SplashActivity extends BaseActivity { response.body().getData() != null && response.body().isSuccess()){ SharedPrefsHelper.setCartItemCount(response.body().getData().getProducts().size()); - SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getTotals().get(0).getText())); + SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getCartTotalModel().getText())); openActivity(MainActivity.class); } diff --git a/app/src/main/java/ch/pizzalink/android/adapter/recycler/PaymentMethodsRecyclerAdapter.java b/app/src/main/java/ch/pizzalink/android/adapter/recycler/PaymentMethodsRecyclerAdapter.java index 6533859..e3b0796 100644 --- a/app/src/main/java/ch/pizzalink/android/adapter/recycler/PaymentMethodsRecyclerAdapter.java +++ b/app/src/main/java/ch/pizzalink/android/adapter/recycler/PaymentMethodsRecyclerAdapter.java @@ -80,7 +80,7 @@ public class PaymentMethodsRecyclerAdapter extends RecyclerView.Adapter> getCartProducts(@Query("token") String token); + @POST + Call> getCartProducts(@Url String url); @GET(ApiEndPoints.API_GET_CLEAR_CART) Call clearCart(@Query("token") String token); @@ -145,4 +146,8 @@ public interface ApiInterface { Call> getOrderProductList(@Url String url, @Field("order_id") String orderId); + @FormUrlEncoded + @POST + Call> checkCoupon(@Url String url, @Field("coupon") String couponCode); + } diff --git a/app/src/main/java/ch/pizzalink/android/dialog/ProductPropertiesBottomSheetDialog.java b/app/src/main/java/ch/pizzalink/android/dialog/ProductPropertiesBottomSheetDialog.java index 57e4fe6..6b65d05 100644 --- a/app/src/main/java/ch/pizzalink/android/dialog/ProductPropertiesBottomSheetDialog.java +++ b/app/src/main/java/ch/pizzalink/android/dialog/ProductPropertiesBottomSheetDialog.java @@ -336,7 +336,7 @@ public class ProductPropertiesBottomSheetDialog extends BottomSheetDialogFragmen private void getCartItemCount(){ Call> call = ApiService.apiInterface.getCartProducts( - SessionHelper.getCustomerToken().getToken()); + ApiEndPoints.API_GET_CART_PRODUCTS + SessionHelper.getCustomerToken().getToken()); call.enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) { @@ -344,7 +344,7 @@ public class ProductPropertiesBottomSheetDialog extends BottomSheetDialogFragmen response.body().getData() != null && response.body().isSuccess()){ SharedPrefsHelper.setCartItemCount(response.body().getData().getProducts().size()); - SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getTotals().get(0).getText())); + SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getCartTotalModel().getText())); MainActivity mainActivity = (MainActivity) getActivity(); mainActivity.setCartItemCount(); dismiss(); diff --git a/app/src/main/java/ch/pizzalink/android/fragment/CartFragment.java b/app/src/main/java/ch/pizzalink/android/fragment/CartFragment.java index 7f8100a..91bf717 100644 --- a/app/src/main/java/ch/pizzalink/android/fragment/CartFragment.java +++ b/app/src/main/java/ch/pizzalink/android/fragment/CartFragment.java @@ -129,7 +129,7 @@ public class CartFragment extends BaseFragment { private void getCartProducts(){ DialogHelper.showLoadingDialog(); Call> call = ApiService.apiInterface.getCartProducts( - SessionHelper.getCustomerToken().getToken()); + ApiEndPoints.API_GET_CART_PRODUCTS + SessionHelper.getCustomerToken().getToken()); call.enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) { @@ -192,8 +192,8 @@ public class CartFragment extends BaseFragment { } private void setCartTotalFields(){ - cartTotalLabelTextView.setText(cartInfoModel.getTotals().get(0).getTitle().toUpperCase(Locale.GERMAN)); - cartProductTotalTextView.setText(PriceHelper.roundFractions(cartInfoModel.getTotals().get(0).getText())); + cartTotalLabelTextView.setText(cartInfoModel.getCartTotalModel().getTitle().toUpperCase(Locale.GERMAN)); + cartProductTotalTextView.setText(PriceHelper.roundFractions(cartInfoModel.getCartTotalModel().getText())); } private void initRecyclerView(){ @@ -283,7 +283,7 @@ public class CartFragment extends BaseFragment { private void getCartItemCount(){ Call> call = ApiService.apiInterface.getCartProducts( - SessionHelper.getCustomerToken().getToken()); + ApiEndPoints.API_GET_CART_PRODUCTS + SessionHelper.getCustomerToken().getToken()); call.enqueue(new Callback>() { @Override public void onResponse(Call> call, final Response> response) { @@ -296,7 +296,7 @@ public class CartFragment extends BaseFragment { @Override public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { SharedPrefsHelper.setCartItemCount(response.body().getData().getProducts().size()); - SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getTotals().get(0).getText())); + SharedPrefsHelper.setCartTotalPrice(PriceHelper.removeCurrencyFromPrice(response.body().getData().getCartTotalModel().getText())); MainActivity mainActivity = (MainActivity) getActivity(); mainActivity.setCartItemCount(); mainActivity.reopenCartFragment(); diff --git a/app/src/main/java/ch/pizzalink/android/fragment/createOrder/CreateOrderSummaryFragment.java b/app/src/main/java/ch/pizzalink/android/fragment/createOrder/CreateOrderSummaryFragment.java index 5652989..dc82948 100644 --- a/app/src/main/java/ch/pizzalink/android/fragment/createOrder/CreateOrderSummaryFragment.java +++ b/app/src/main/java/ch/pizzalink/android/fragment/createOrder/CreateOrderSummaryFragment.java @@ -91,7 +91,7 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { orderShippingMethodPizzalinkInfoLayout.setText(createOrderActivity.getSelectedShippingMethod().getTitle()); orderShippingAddressPizzalinkInfoLayout.setText(createOrderActivity.getSelectedShippingAddress().getAddress()); orderPaymentMethodPizzalinkInfoLayout.setText(createOrderActivity.getSelectedPaymentMethod().getTitle()); - orderTotalPizzalinkInfoLayout.setText(PriceHelper.roundFractions(createOrderActivity.getCartInfo().getTotals().get(0).getText())); + orderTotalPizzalinkInfoLayout.setText(PriceHelper.roundFractions(createOrderActivity.getCartInfo().getCartTotalModel().getText())); if(createOrderActivity.getOrderNote().isEmpty()){ orderNotePizzalinkInfoLayout.setVisibility(View.GONE); } diff --git a/app/src/main/java/ch/pizzalink/android/fragment/createOrder/PaymentMethodFragment.java b/app/src/main/java/ch/pizzalink/android/fragment/createOrder/PaymentMethodFragment.java index 28a659f..b83dabf 100644 --- a/app/src/main/java/ch/pizzalink/android/fragment/createOrder/PaymentMethodFragment.java +++ b/app/src/main/java/ch/pizzalink/android/fragment/createOrder/PaymentMethodFragment.java @@ -3,6 +3,7 @@ package ch.pizzalink.android.fragment.createOrder; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -17,14 +18,18 @@ import ch.pizzalink.android.R; import ch.pizzalink.android.activity.BaseActivity; import ch.pizzalink.android.activity.CreateOrderActivity; import ch.pizzalink.android.adapter.recycler.PaymentMethodsRecyclerAdapter; +import ch.pizzalink.android.api.ApiEndPoints; import ch.pizzalink.android.api.ApiErrorUtils; import ch.pizzalink.android.api.ApiService; import ch.pizzalink.android.api.ResponseObject; import ch.pizzalink.android.helper.DialogHelper; import ch.pizzalink.android.helper.SessionHelper; import ch.pizzalink.android.interfaces.RecyclerItemClickListener; +import ch.pizzalink.android.model.CheckCouponModel; import ch.pizzalink.android.model.PaymentMethodModel; import ch.pizzalink.android.model.PaymentMethodsResponseModel; +import ch.pizzalink.android.model.cart.CartInfoModel; +import ch.pizzalink.android.view.PizzalinkEditText; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -36,11 +41,15 @@ import retrofit2.Response; public class PaymentMethodFragment extends CreateOrderBaseFragment { @BindView(R.id.paymentMethodsRecyclerView) RecyclerView paymentMethodsRecyclerView; + @BindView(R.id.couponCodePizzalinkEditText) PizzalinkEditText couponCodePizzalinkEditText; + @BindString(R.string.app_name) String appName; @BindString(R.string.alert_choose_payment_method) String choosePaymentMethodText; + @BindString(R.string.coupon_is_not_active) String couponIsNotActiveText; private ArrayList paymentMethodList = new ArrayList<>(); private PaymentMethodsRecyclerAdapter paymentMethodsRecyclerAdapter; + private CheckCouponModel couponModel; private PaymentMethodModel selectedPaymentMethod; @@ -79,8 +88,17 @@ public class PaymentMethodFragment extends CreateOrderBaseFragment { DialogHelper.showAlertDialog(BaseActivity.currentActivity, choosePaymentMethodText); break; } - createOrderActivity.setSelectedPaymentMethod(selectedPaymentMethod); - createOrderActivity.onNextClicked(FRAGMENT_NAME); + + if(couponCodePizzalinkEditText.isEmpty()){ + createOrderActivity.setSelectedPaymentMethod(selectedPaymentMethod); + createOrderActivity.onNextClicked(FRAGMENT_NAME); + } + else { + checkCoupon(); + } + + + break; } } @@ -157,4 +175,70 @@ public class PaymentMethodFragment extends CreateOrderBaseFragment { paymentMethodsRecyclerView.setLayoutManager(layoutManager); paymentMethodsRecyclerView.setAdapter(paymentMethodsRecyclerAdapter); } + + private void checkCoupon(){ + DialogHelper.showLoadingDialog(); + Call> call = + ApiService.apiInterface.checkCoupon( + ApiEndPoints.API_CHECK_COUPON + SessionHelper.getCustomerToken().getToken(), + couponCodePizzalinkEditText.getText()); + call.enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + if(response.isSuccessful() && + response.body().getData() != null && + response.body().isSuccess()){ + couponModel = response.body().getData(); + couponModel.checkNull(); + if(couponModel.isActive()){ + DialogHelper.showDialogWithPositiveButton(appName, BaseActivity.currentActivity, couponModel.getName()); + getCartProducts(); + } + else { + DialogHelper.hideLoadingDialog(); + DialogHelper.showAlertDialog(BaseActivity.currentActivity, couponIsNotActiveText); + } + } + else { + DialogHelper.hideLoadingDialog(); + ApiErrorUtils.parseError(response); + } + } + + @Override + public void onFailure(Call> call, Throwable t) { + DialogHelper.hideLoadingDialog(); + DialogHelper.showFailedDialog(); + } + }); + } + + private void getCartProducts(){ + Call> call = ApiService.apiInterface.getCartProducts( + ApiEndPoints.API_GET_CART_PRODUCTS + SessionHelper.getCustomerToken().getToken()); + call.enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + DialogHelper.hideLoadingDialog(); + if(response.isSuccessful() && + response.body().getData() != null && + response.body().isSuccess()){ + CreateOrderActivity createOrderActivity = (CreateOrderActivity) getActivity(); + createOrderActivity.setCartInfo(response.body().getData()); + createOrderActivity.setSelectedPaymentMethod(selectedPaymentMethod); + createOrderActivity.onNextClicked(FRAGMENT_NAME); + } + else { + ApiErrorUtils.parseError(response); + } + } + + @Override + public void onFailure(Call> call, Throwable t) { + DialogHelper.hideLoadingDialog(); + DialogHelper.showFailedDialog(); + } + }); + } + } \ No newline at end of file diff --git a/app/src/main/java/ch/pizzalink/android/model/CheckCouponModel.java b/app/src/main/java/ch/pizzalink/android/model/CheckCouponModel.java new file mode 100644 index 0000000..bac389f --- /dev/null +++ b/app/src/main/java/ch/pizzalink/android/model/CheckCouponModel.java @@ -0,0 +1,276 @@ +package ch.pizzalink.android.model; + +import android.util.Log; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; + + +/** + * Created by cimenmus on 6.02.2018. + */ + +public class CheckCouponModel { + + @Expose + @SerializedName("coupon_id") + private String couponId; + + @Expose + @SerializedName("product") + private ArrayList productIdList; + + @Expose + @SerializedName("date_start") + private String startDate; + + @Expose + @SerializedName("date_end") + private String endDate; + + @Expose + @SerializedName("uses_total") + private String totalUsageCount; + + @Expose + @SerializedName("uses_customer") + private String userUsageCount; + + @Expose + @SerializedName("date_added") + private String addedDate; + + private String code; + private String name; + private String type; + private String discount; + private String shipping; + private String total; + private String status; + + public void checkNull(){ + + if(couponId == null){ + couponId = ""; + } + + if(startDate == null){ + startDate = "1970-01-01"; + } + + if(endDate == null){ + endDate = "1970-01-01"; + } + + if(totalUsageCount == null){ + totalUsageCount = ""; + } + + if(userUsageCount == null){ + userUsageCount = ""; + } + + if(addedDate == null){ + addedDate = ""; + } + + if(code == null){ + code = ""; + } + + if(name == null){ + name = ""; + } + + if(type == null){ + type = ""; + } + + if(discount == null){ + discount = ""; + } + + if(shipping == null){ + shipping = ""; + } + + if(total == null){ + total = ""; + } + + if(status == null){ + status = ""; + } + + if(productIdList == null){ + productIdList = new ArrayList<>(); + } + } + + public enum CouponDiscountType { + FIXED, + PERCENT + } + + public CouponDiscountType getCouponDiscountType(){ + if(type.toLowerCase().equals("f")){ + return CouponDiscountType.FIXED; + } + else { + return CouponDiscountType.PERCENT; + } + } + + public boolean isActive(){ + return status.equals("1") && isCouponUsable(); + } + + private boolean isCouponUsable(){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendarEnd = null; + Calendar calendarNow = Calendar.getInstance(); + try { + Date dateEnd = formatter.parse(endDate); + calendarEnd = Calendar.getInstance(); + calendarEnd.setTime(dateEnd); + + if(calendarNow.get(Calendar.YEAR) > calendarEnd.get(Calendar.YEAR)){ + return true; + } + + if(calendarNow.get(Calendar.MONTH) + 1 > calendarEnd.get(Calendar.MONTH) + 1){ + return true; + } + + if(calendarNow.get(Calendar.DAY_OF_MONTH) >= calendarEnd.get(Calendar.DAY_OF_MONTH)){ + return true; + } + + return false; + + + } catch (ParseException e) { + e.printStackTrace(); + return false; + } + } + + public String getCouponId() { + return couponId; + } + + public void setCouponId(String couponId) { + this.couponId = couponId; + } + + public ArrayList getProductIdList() { + return productIdList; + } + + public void setProductIdList(ArrayList productIdList) { + this.productIdList = productIdList; + } + + public String getStartDate() { + return startDate; + } + + public void setStartDate(String startDate) { + this.startDate = startDate; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + public String getTotalUsageCount() { + return totalUsageCount; + } + + public void setTotalUsageCount(String totalUsageCount) { + this.totalUsageCount = totalUsageCount; + } + + public String getUserUsageCount() { + return userUsageCount; + } + + public void setUserUsageCount(String userUsageCount) { + this.userUsageCount = userUsageCount; + } + + public String getAddedDate() { + return addedDate; + } + + public void setAddedDate(String addedDate) { + this.addedDate = addedDate; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getDiscount() { + return discount; + } + + public void setDiscount(String discount) { + this.discount = discount; + } + + public String getShipping() { + return shipping; + } + + public void setShipping(String shipping) { + this.shipping = shipping; + } + + public String getTotal() { + return total; + } + + public void setTotal(String total) { + this.total = total; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/app/src/main/java/ch/pizzalink/android/model/cart/CartInfoModel.java b/app/src/main/java/ch/pizzalink/android/model/cart/CartInfoModel.java index f91ff9c..1cb56d1 100644 --- a/app/src/main/java/ch/pizzalink/android/model/cart/CartInfoModel.java +++ b/app/src/main/java/ch/pizzalink/android/model/cart/CartInfoModel.java @@ -20,6 +20,7 @@ public class CartInfoModel implements Serializable { this.products = products; } + /* public ArrayList getTotals() { return totals; } @@ -27,4 +28,19 @@ public class CartInfoModel implements Serializable { public void setTotals(ArrayList totals) { this.totals = totals; } + */ + + public CartTotalModel getCartTotalModel(){ + CartTotalModel cartTotalModel = null; + for(CartTotalModel crtTtl : totals){ + if(crtTtl.getTitle().toLowerCase().equals("total")){ + cartTotalModel = crtTtl; + break; + } + } + if(cartTotalModel == null){ + cartTotalModel = totals.get(0); + } + return cartTotalModel; + } } diff --git a/app/src/main/res/layout/fragment_payment_method.xml b/app/src/main/res/layout/fragment_payment_method.xml index f41bc76..fe05f00 100644 --- a/app/src/main/res/layout/fragment_payment_method.xml +++ b/app/src/main/res/layout/fragment_payment_method.xml @@ -1,17 +1,49 @@ + android:background="@color/white" + tools:ignore="MissingPrefix"> - + android:orientation="vertical" + android:layout_above="@+id/ordersBottomLayout"> + + + + + + + + + diff --git a/app/src/main/res/layout/row_space_4dp.xml b/app/src/main/res/layout/row_space_4dp.xml new file mode 100644 index 0000000..8557e3d --- /dev/null +++ b/app/src/main/res/layout/row_space_4dp.xml @@ -0,0 +1,5 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f38064a..b697e03 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -144,10 +144,13 @@ Bitte wählen Sie ein Bezahlverfahren aus. + Gutscheincode (Wahlweise) + Bezahlverfahren + Coupon is not active. - Nachricht (Optional) + Nachricht (Wahlweise) Aus Gründen der Qualität empfehlen wir nicht, die Pizza zu schneiden Bitte Pizza Schneiden Nein, danke