diff --git a/app/src/main/java/ch/pizzapp/android/api/ApiInterface.java b/app/src/main/java/ch/pizzapp/android/api/ApiInterface.java index af796a7..1d1343f 100644 --- a/app/src/main/java/ch/pizzapp/android/api/ApiInterface.java +++ b/app/src/main/java/ch/pizzapp/android/api/ApiInterface.java @@ -159,6 +159,10 @@ public interface ApiInterface { @GET(ApiEndPoints.API_CHECK_DELIVERY_TIME) Call> checkDeliveryTime(); + @FormUrlEncoded + @POST(ApiEndPoints.API_CHECK_DELIVERY_TIME) + Call> checkDeliveryTimeWithDateAndTime(@Field("delivery_date") String deliveryDateAndTime); + @FormUrlEncoded @POST Call> createPayment(@Url String url, @FieldMap HashMap body); diff --git a/app/src/main/java/ch/pizzapp/android/fragment/createOrder/CreateOrderSummaryFragment.java b/app/src/main/java/ch/pizzapp/android/fragment/createOrder/CreateOrderSummaryFragment.java index 287a0a3..ad2f5dd 100644 --- a/app/src/main/java/ch/pizzapp/android/fragment/createOrder/CreateOrderSummaryFragment.java +++ b/app/src/main/java/ch/pizzapp/android/fragment/createOrder/CreateOrderSummaryFragment.java @@ -76,6 +76,7 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { @BindString(R.string.yes) String yesText; @BindString(R.string.no) String noText; @BindString(R.string.restaurant_out_of_order) String restaurantOutOfOrderText; + @BindString(R.string.restaurant_out_of_order_on_selected_date) String restaurantOutOfOrderOnSelectedDateText; @BindString(R.string.something_went_wrong) String genericErrorText; @BindString(R.string.unknown_payment_method) String unknownPaymentMethodText; @BindString(R.string.payment_canceled) String paymentCanceledText; @@ -358,7 +359,7 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { } else { DialogHelper.hideLoadingDialog(); - showRestaurantOutOfOrderDialog(); + showRestaurantOutOfOrderDialog(restaurantOutOfOrderText); } } @@ -400,11 +401,69 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { }); } - private void showRestaurantOutOfOrderDialog(){ + private void checkDeliveryTimeWithDateAndTime(){ + DialogHelper.showLoadingDialog(); + String deliveryDateAndTime = dateOfOrder + " " + timeOfOrder; + ApiService + .apiInterface + .checkDeliveryTimeWithDateAndTime(deliveryDateAndTime) + .enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + DialogHelper.hideLoadingDialog(); + if(response.isSuccessful() && + response.body() != null){ + + if(response.body().isSuccess()){ + redirectToPayment(); + } + else { + showRestaurantOutOfOrderDialog(restaurantOutOfOrderOnSelectedDateText); + } + + } + else{ + ApiErrorUtils.parseError(response); + } + } + + @Override + public void onFailure(Call> call, Throwable t) { + DialogHelper.hideLoadingDialog(); + DialogHelper.showFailedDialog(); + + + /* + // dummy // + + if(createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.UNKNOWN){ + DialogHelper.hideLoadingDialog(); + DialogHelper.showAlertDialog(BaseActivity.currentActivity, unknownPaymentMethodText); + } + else if(createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.CASH || + createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.TRANSFER){ + createOrder(null); + } + else if(createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.TWINT) { + DialogHelper.hideLoadingDialog(); + startTwintPayment(); + } + else { + DialogHelper.hideLoadingDialog(); + startBraintreePayment(); + } + */ + + + } + }); + } + + private void showRestaurantOutOfOrderDialog(String message){ DialogHelper.showTwoButtonsDialog( alertText, - restaurantOutOfOrderText, + message, R.string.accept_campaign, new MaterialDialog.SingleButtonCallback() { @Override @@ -450,7 +509,7 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { dayOfOrder = "0" + dayOfOrder; } - dateOfOrder = dayOfOrder + "." + monthOfOrder + "." + yearOfOrder; + dateOfOrder = dayOfOrder + "-" + monthOfOrder + "-" + yearOfOrder; showTimePickerDialog(); } }, @@ -491,7 +550,8 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment { } timeOfOrder = hourOfOrder + ":" + minuteOfOrder; - redirectToPayment(); + checkDeliveryTimeWithDateAndTime(); + //redirectToPayment(); } }, nowHour, diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e14671c..c2ea7de 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -95,6 +95,7 @@ Bu kampanyadan daha önce yararlandığınız için sepetinize ekleyemezsiniz. Restorant şu anda hizmet vermemektedir. İleri bir tarih ve saat için sipariş oluşturmak ister misiniz? + Restorant seçtiğiniz tarih ve saatte hizmet vermemektedir. Başka bir tarih ve saat için sipariş oluşturmak ister misiniz?