next time delivery option for free shipping
This commit is contained in:
@@ -29,6 +29,7 @@ public class ApiConstants {
|
||||
public static final String DATATRANS_REFERENCE_NUMBER_TEST = "968927"; // Taken from Datatrans sample app
|
||||
public static final String DATATRANS_SIGNATURE_TEST = "30916165706580013"; // Taken from Datatrans sample app
|
||||
|
||||
public static final String SHIPPING_METHOD_CODE_FREE_SHIPPING = "free.free";
|
||||
public static final String SHIPPING_METHOD_CODE_PICK_UP_FROM_STORE = "pickup.pickup";
|
||||
|
||||
public static final String CART_SUBTOTAL = "zwischensumme";
|
||||
|
||||
@@ -104,6 +104,7 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
|
||||
private ProductOnOrderSummaryRecyclerAdapter productOnOrderSummaryRecyclerAdapter;
|
||||
private StoreShiftModel storeShiftModel;
|
||||
private PaymentTokenModel braintreePaymentTokenModel;
|
||||
private boolean isChoosingDeliveyTimeForFreeShipping;
|
||||
|
||||
public CreateOrderSummaryFragment() {}
|
||||
|
||||
@@ -226,7 +227,12 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
|
||||
@Override
|
||||
public void onResponse(Call<ResponseObject> call, Response<ResponseObject> response) {
|
||||
if(response.isSuccessful() && response.body().isSuccess()){
|
||||
if(createOrderActivity.getSelectedShippingMethod().getCode().equalsIgnoreCase(ApiConstants.SHIPPING_METHOD_CODE_PICK_UP_FROM_STORE)){
|
||||
|
||||
if(createOrderActivity.getSelectedShippingMethod().getCode().equalsIgnoreCase(ApiConstants.SHIPPING_METHOD_CODE_FREE_SHIPPING)){
|
||||
DialogHelper.hideLoadingDialog();
|
||||
showDeliveryTimePreferenceDialog();
|
||||
}
|
||||
else if(createOrderActivity.getSelectedShippingMethod().getCode().equalsIgnoreCase(ApiConstants.SHIPPING_METHOD_CODE_PICK_UP_FROM_STORE)){
|
||||
getDeliveryTimeOfStore(choosePickUpDateTimeText);
|
||||
}
|
||||
else {
|
||||
@@ -248,6 +254,32 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
|
||||
|
||||
}
|
||||
|
||||
private void showDeliveryTimePreferenceDialog(){
|
||||
DialogHelper.showTwoButtonsDialog(
|
||||
getString(R.string.info),
|
||||
getString(R.string.delivery_time_preference_message),
|
||||
R.string.delivery_time_preference_as_soon_as_possible,
|
||||
new MaterialDialog.SingleButtonCallback() {
|
||||
@Override
|
||||
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
||||
DialogHelper.showLoadingDialog();
|
||||
isChoosingDeliveyTimeForFreeShipping = false;
|
||||
checkDeliveryTime();
|
||||
}
|
||||
},
|
||||
R.string.delivery_time_preference_choose_delivery_time,
|
||||
new MaterialDialog.SingleButtonCallback() {
|
||||
@Override
|
||||
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
||||
DialogHelper.showLoadingDialog();
|
||||
isChoosingDeliveyTimeForFreeShipping = true;
|
||||
getDeliveryTimeOfStore(null);
|
||||
}
|
||||
},
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
private void checkDeliveryTime(){
|
||||
ApiService
|
||||
.apiInterface
|
||||
@@ -301,7 +333,12 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
|
||||
|
||||
if(response.body().isSuccess()){
|
||||
storeShiftModel = response.body().getData();
|
||||
showRestaurantOutOfOrderDialog(dialogMessage);
|
||||
if(dialogMessage == null || dialogMessage.isEmpty()){
|
||||
showDatePickerDialog();
|
||||
}
|
||||
else {
|
||||
showRestaurantOutOfOrderDialog(dialogMessage);
|
||||
}
|
||||
}
|
||||
else {
|
||||
DialogHelper.showAlertDialog(BaseActivity.currentActivity, genericErrorText);
|
||||
@@ -388,6 +425,10 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
|
||||
final int nowMonth = nowDate.get(Calendar.MONTH);
|
||||
final int nowDay = nowDate.get(Calendar.DAY_OF_MONTH);
|
||||
|
||||
if(isChoosingDeliveyTimeForFreeShipping && nowDate.get(Calendar.HOUR_OF_DAY) == 23){
|
||||
nowDate.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
|
||||
DatePickerDialog datePickerDialog = DatePickerDialog.newInstance(
|
||||
new DatePickerDialog.OnDateSetListener() {
|
||||
@Override
|
||||
@@ -434,8 +475,11 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
|
||||
dateOfOrder.get(Calendar.MONTH) == nowDate.get(Calendar.MONTH) &&
|
||||
dateOfOrder.get(Calendar.DAY_OF_MONTH) == nowDate.get(Calendar.DAY_OF_MONTH);
|
||||
|
||||
if(isTheSameDate &&
|
||||
createOrderActivity.getSelectedShippingMethod().getCode().equalsIgnoreCase(ApiConstants.SHIPPING_METHOD_CODE_PICK_UP_FROM_STORE)){
|
||||
if(isTheSameDate && isChoosingDeliveyTimeForFreeShipping){
|
||||
nowDate.add( Calendar.MINUTE, 75);
|
||||
}
|
||||
// createOrderActivity.getSelectedShippingMethod().getCode().equalsIgnoreCase(ApiConstants.SHIPPING_METHOD_CODE_PICK_UP_FROM_STORE)
|
||||
else if(isTheSameDate){
|
||||
nowDate.add( Calendar.MINUTE, 10);
|
||||
}
|
||||
|
||||
@@ -519,7 +563,11 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
|
||||
|
||||
timePickerDialog.setSelectableTimes(generateEnabledTimePoints(workingParts));
|
||||
timePickerDialog.vibrate(false);
|
||||
//timePickerDialog.setMinTime(nowHour, nowMinute, nowSecond);
|
||||
|
||||
if(isTheSameDate){
|
||||
timePickerDialog.setMinTime(nowHour, nowMinute, nowSecond);
|
||||
}
|
||||
|
||||
timePickerDialog.show(BaseActivity.currentActivity.getFragmentManager(), choosetext);
|
||||
}
|
||||
|
||||
|
||||
@@ -192,6 +192,10 @@
|
||||
<string name="payment_canceled">Die Zahlung wurde storniert.</string>
|
||||
<string name="andorid_pay_not_found">Android Pay konnte nicht finden.</string>
|
||||
<string name="choose_pick_up_date_time">Bitte wählen Sie aus wann Sie Ihre Bestellung abholen möchten.</string>
|
||||
<string name="info">Information</string>
|
||||
<string name="delivery_time_preference_message">Bitte wählen Sie die Zeit für den gewünschten Termin aus.</string>
|
||||
<string name="delivery_time_preference_as_soon_as_possible">Schnell wie möglich</string>
|
||||
<string name="delivery_time_preference_choose_delivery_time">Termin auswählenn</string>
|
||||
<!-- CreateOrderSummaryFragment-->
|
||||
|
||||
<!-- CreateOrderResultFragment-->
|
||||
|
||||
Reference in New Issue
Block a user