diff --git a/.idea/misc.xml b/.idea/misc.xml index 7158618..cca2cda 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -37,7 +37,7 @@ - + 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 6de5956..b098342 100644 --- a/app/src/main/java/ch/pizzalink/android/dialog/ProductPropertiesBottomSheetDialog.java +++ b/app/src/main/java/ch/pizzalink/android/dialog/ProductPropertiesBottomSheetDialog.java @@ -16,6 +16,7 @@ import android.widget.TextView; import java.util.ArrayList; import java.util.HashMap; +import butterknife.BindString; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; @@ -59,6 +60,8 @@ public class ProductPropertiesBottomSheetDialog extends BottomSheetDialogFragmen @BindView(R.id.deccreaseProductCountImageView) ImageView deccreaseProductCountImageView; @BindView(R.id.productCountTextView) TextView productCountTextView; + @BindString(R.string.no_options_selected_part) String noOptionsSelectedText; + private int productCount = 1; private BottomSheetBehavior mBehavior; @@ -109,7 +112,8 @@ public class ProductPropertiesBottomSheetDialog extends BottomSheetDialogFragmen productPriceTextView.getText().toString(), productCount + 1, productCount)); break; case R.id.addToCartButton: - addProductToCart(); + if(checkFields()) + addProductToCart(); break; } } @@ -273,6 +277,36 @@ public class ProductPropertiesBottomSheetDialog extends BottomSheetDialogFragmen return params; } + private boolean checkFields(){ + + if(radioRecyclerView.getVisibility() == View.VISIBLE && + !isSelectedAtLeastOne(productRadioOptionValueList)){ + DialogHelper.showAlertDialog(BaseActivity.currentActivity, + radioRecyclerHeaderTextView.getText().toString() + " " + noOptionsSelectedText); + return false; + } + + if(checkboxRecyclerView.getVisibility() == View.VISIBLE && + !isSelectedAtLeastOne(productCheckboxOptionValueList)){ + DialogHelper.showAlertDialog(BaseActivity.currentActivity, + checkboxRecyclerHeaderTextView.getText().toString() + " " + noOptionsSelectedText); + return false; + } + + return true; + } + + private boolean isSelectedAtLeastOne(ArrayList menuProductOptionValueModels){ + for(MenuProductOptionValueModel menuProductOptionValueModel : menuProductOptionValueModels){ + if(menuProductOptionValueModel.isSelected()){ + return true; + } + } + return false; + } + + + /* @Override public void onItemClick(Item item) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e78c9d7..573ad0d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -116,5 +116,7 @@ SEPETE EKLE Count + is not selected. +