servis ayırma

This commit is contained in:
cimenmus
2018-08-21 00:09:43 +03:00
parent 2ef3eb0f92
commit a24fabc06f
32 changed files with 878 additions and 81 deletions

Binary file not shown.

2
.idea/misc.xml generated
View File

@@ -25,7 +25,7 @@
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

View File

@@ -61,7 +61,7 @@ dependencies {
implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
implementation 'uk.co.chrisjenx:calligraphy:2.3.0'
implementation 'com.wdullaer:materialdatetimepicker:3.1.1'
implementation 'com.wdullaer:materialdatetimepicker:3.6.3'
implementation 'io.nlopez.smartlocation:library:3.3.3'
implementation 'q.rorbin:badgeview:1.1.0'
implementation 'com.braintreepayments.api:braintree:2.13.1'

View File

@@ -124,7 +124,7 @@ public class AddAddressActivity extends BaseActivity {
if(activeRequestCount == 0)
DialogHelper.showLoadingDialog();
Call<ResponseArray<CityModel>> call = ApiService.apiInterface.getCityList();
Call<ResponseArray<CityModel>> call = ApiService.apiInterface.getCityList(SessionHelper.getSelectedStore().getStoreName());
call.enqueue(new Callback<ResponseArray<CityModel>>() {
@Override
public void onResponse(Call<ResponseArray<CityModel>> call, Response<ResponseArray<CityModel>> response) {
@@ -165,7 +165,7 @@ public class AddAddressActivity extends BaseActivity {
increaseActiveRequestCount();
Call<ResponseArray<CountryModel>> call = ApiService.apiInterface.getCountryList();
Call<ResponseArray<CountryModel>> call = ApiService.apiInterface.getCountryList(SessionHelper.getSelectedStore().getStoreName());
call.enqueue(new Callback<ResponseArray<CountryModel>>() {
@Override
public void onResponse(Call<ResponseArray<CountryModel>> call, Response<ResponseArray<CountryModel>> response) {
@@ -198,7 +198,9 @@ public class AddAddressActivity extends BaseActivity {
private void getZoneList(){
DialogHelper.showLoadingDialog();
Call<ResponseArray<ZoneModel>> call = ApiService.apiInterface.getZoneList(selectedCountryModel.getId());
Call<ResponseArray<ZoneModel>> call = ApiService.apiInterface.getZoneList(
SessionHelper.getSelectedStore().getStoreName(),
selectedCountryModel.getId());
call.enqueue(new Callback<ResponseArray<ZoneModel>>() {
@Override
public void onResponse(Call<ResponseArray<ZoneModel>> call, Response<ResponseArray<ZoneModel>> response) {

View File

@@ -19,6 +19,7 @@ import ch.pizzapp.android.api.ApiService;
import ch.pizzapp.android.api.ResponseArray;
import ch.pizzapp.android.helper.DialogHelper;
import ch.pizzapp.android.helper.DisplayHelper;
import ch.pizzapp.android.helper.SessionHelper;
import ch.pizzapp.android.interfaces.RecyclerItemClickListener;
import ch.pizzapp.android.model.CampaignModel;
import ch.pizzapp.android.model.menu.MenuProductModel;
@@ -90,7 +91,9 @@ public class CampaignProductListActivity extends BaseActivity {
private void getCampaignProducts(){
DialogHelper.showLoadingDialog();
Call<ResponseArray<MenuProductModel>> call = ApiService.apiInterface.getProductsByCategory(campaignModel.getCategoryId());
Call<ResponseArray<MenuProductModel>> call = ApiService.apiInterface.getProductsByCategory(
SessionHelper.getSelectedStore().getStoreName(),
campaignModel.getCategoryId());
call.enqueue(new Callback<ResponseArray<MenuProductModel>>() {
@Override
public void onResponse(Call<ResponseArray<MenuProductModel>> call, Response<ResponseArray<MenuProductModel>> response) {

View File

@@ -17,6 +17,7 @@ import ch.pizzapp.android.api.ApiErrorUtils;
import ch.pizzapp.android.api.ApiService;
import ch.pizzapp.android.api.ResponseObject;
import ch.pizzapp.android.helper.DialogHelper;
import ch.pizzapp.android.helper.SessionHelper;
import ch.pizzapp.android.helper.ViewHelper;
import ch.pizzapp.android.view.AppEditText;
import retrofit2.Call;
@@ -66,6 +67,7 @@ public class ForgotPasswordActivity extends BaseActivity {
private void resetPassword(){
DialogHelper.showLoadingDialog();
Call<ResponseObject> call = ApiService.apiInterface.forgotPassword(
SessionHelper.getSelectedStore().getStoreName(),
forgotPasswordEmailAppEditText.getText());
call.enqueue(new Callback<ResponseObject>() {
@Override

View File

@@ -20,6 +20,7 @@ import ch.pizzapp.android.helper.PriceHelper;
import ch.pizzapp.android.helper.SessionHelper;
import ch.pizzapp.android.helper.SharedPrefsHelper;
import ch.pizzapp.android.helper.ViewHelper;
import ch.pizzapp.android.model.CustomerTokenModel;
import ch.pizzapp.android.model.UserModel;
import ch.pizzapp.android.model.cart.CartInfoModel;
import ch.pizzapp.android.view.AppEditText;
@@ -91,6 +92,7 @@ public class LoginActivity extends BaseActivity {
private void login(){
DialogHelper.showLoadingDialog();
Call<ResponseObject<UserModel>> call = ApiService.apiInterface.login(
SessionHelper.getSelectedStore().getStoreName(),
emailAppEditText.getText(), passwordAppEditText.getText());
call.enqueue(new Callback<ResponseObject<UserModel>>() {
@Override
@@ -99,7 +101,9 @@ public class LoginActivity extends BaseActivity {
response.body().getData() != null &&
response.body().isSuccess()){
SharedPrefsHelper.saveUser(response.body().getData());
SharedPrefsHelper.saveCustomerToken(response.body().getData().getToken());
CustomerTokenModel customerTokenModel = response.body().getData().getToken();
customerTokenModel.setStoreOfToken(SessionHelper.getSelectedStore());
SharedPrefsHelper.saveCustomerToken(customerTokenModel);
SharedPrefsHelper.setCustomerLoggedIn(true);
getCartItemCount();
}

View File

@@ -76,6 +76,7 @@ public class MyAddressesActivity extends BaseActivity {
private void getCustomerAddresses(){
DialogHelper.showLoadingDialog();
Call<ResponseArray<AddressModel>> call = ApiService.apiInterface.getCustomerAddresses(
SessionHelper.getSelectedStore().getStoreName(),
SessionHelper.getCustomerToken().getToken());
call.enqueue(new Callback<ResponseArray<AddressModel>>() {
@Override

View File

@@ -196,6 +196,7 @@ public class OrderHistoryDetailsActivity extends BaseActivity {
private void clearCart(){
DialogHelper.showLoadingDialog();
Call<ResponseObject> call = ApiService.apiInterface.clearCart(
SessionHelper.getSelectedStore().getStoreName(),
SessionHelper.getCustomerToken().getToken());
call.enqueue(new Callback<ResponseObject>() {
@Override

View File

@@ -23,10 +23,12 @@ import ch.pizzapp.android.api.ApiService;
import ch.pizzapp.android.api.ResponseArray;
import ch.pizzapp.android.api.ResponseObject;
import ch.pizzapp.android.helper.DialogHelper;
import ch.pizzapp.android.helper.SessionHelper;
import ch.pizzapp.android.helper.SharedPrefsHelper;
import ch.pizzapp.android.helper.ViewHelper;
import ch.pizzapp.android.model.CityModel;
import ch.pizzapp.android.model.CountryModel;
import ch.pizzapp.android.model.CustomerTokenModel;
import ch.pizzapp.android.model.UserModel;
import ch.pizzapp.android.model.ZoneModel;
import ch.pizzapp.android.view.AppDropdownView;
@@ -155,7 +157,7 @@ public class RegisterActivity extends BaseActivity {
if(activeRequestCount == 0)
DialogHelper.showLoadingDialog();
Call<ResponseArray<CityModel>> call = ApiService.apiInterface.getCityList();
Call<ResponseArray<CityModel>> call = ApiService.apiInterface.getCityList(SessionHelper.getSelectedStore().getStoreName());
call.enqueue(new Callback<ResponseArray<CityModel>>() {
@Override
public void onResponse(Call<ResponseArray<CityModel>> call, Response<ResponseArray<CityModel>> response) {
@@ -196,7 +198,7 @@ public class RegisterActivity extends BaseActivity {
increaseActiveRequestCount();
Call<ResponseArray<CountryModel>> call = ApiService.apiInterface.getCountryList();
Call<ResponseArray<CountryModel>> call = ApiService.apiInterface.getCountryList(SessionHelper.getSelectedStore().getStoreName());
call.enqueue(new Callback<ResponseArray<CountryModel>>() {
@Override
public void onResponse(Call<ResponseArray<CountryModel>> call, Response<ResponseArray<CountryModel>> response) {
@@ -229,7 +231,9 @@ public class RegisterActivity extends BaseActivity {
private void getZoneList(){
DialogHelper.showLoadingDialog();
Call<ResponseArray<ZoneModel>> call = ApiService.apiInterface.getZoneList(selectedCountryModel.getId());
Call<ResponseArray<ZoneModel>> call = ApiService.apiInterface.getZoneList(
SessionHelper.getSelectedStore().getStoreName(),
selectedCountryModel.getId());
call.enqueue(new Callback<ResponseArray<ZoneModel>>() {
@Override
public void onResponse(Call<ResponseArray<ZoneModel>> call, Response<ResponseArray<ZoneModel>> response) {
@@ -273,7 +277,9 @@ public class RegisterActivity extends BaseActivity {
private void registerUser(){
DialogHelper.showLoadingDialog();
Call<ResponseObject<UserModel>> call = ApiService.apiInterface.register(getRegisterParams());
Call<ResponseObject<UserModel>> call = ApiService.apiInterface.register(
SessionHelper.getSelectedStore().getStoreName(),
getRegisterParams());
call.enqueue(new Callback<ResponseObject<UserModel>>() {
@Override
public void onResponse(Call<ResponseObject<UserModel>> call, Response<ResponseObject<UserModel>> response) {
@@ -283,7 +289,9 @@ public class RegisterActivity extends BaseActivity {
response.body().isSuccess()){
response.body().getData().checkNull();
SharedPrefsHelper.saveUser(response.body().getData());
SharedPrefsHelper.saveCustomerToken(response.body().getData().getToken());
CustomerTokenModel customerTokenModel = response.body().getData().getToken();
customerTokenModel.setStoreOfToken(SessionHelper.getSelectedStore());
SharedPrefsHelper.saveCustomerToken(customerTokenModel);
SharedPrefsHelper.setCustomerLoggedIn(true);
startActivity(new Intent(RegisterActivity.this, MainActivity.class));
finishAffinity();

View File

@@ -9,10 +9,15 @@ import android.os.Bundle;
import android.os.Handler;
import android.support.v4.content.ContextCompat;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import com.afollestad.materialdialogs.MaterialDialog;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import butterknife.ButterKnife;
@@ -31,6 +36,7 @@ import ch.pizzapp.android.helper.SessionHelper;
import ch.pizzapp.android.helper.SharedPrefsHelper;
import ch.pizzapp.android.model.AppVersionModel;
import ch.pizzapp.android.model.CategoryModel;
import ch.pizzapp.android.model.StoreModel;
import ch.pizzapp.android.model.cart.CartInfoModel;
import retrofit2.Call;
import retrofit2.Callback;
@@ -44,14 +50,65 @@ public class SplashActivity extends BaseActivity {
setContentView(R.layout.activity_splash);
ButterKnife.bind(this);
//DisplayHelper.changeStatusColor();
if(NetworkHelper.isNetworkAvailable())
checkVersion();
else
if(NetworkHelper.isNetworkAvailable()){
getStoreList();
}
else{
DialogHelper.showNoNetworkDialog();
}
}
private void getStoreList(){
Call<ResponseArray<StoreModel>> call = ApiService.apiInterface.getStoreList();
call.enqueue(new Callback<ResponseArray<StoreModel>>() {
@Override
public void onResponse(Call<ResponseArray<StoreModel>> call, Response<ResponseArray<StoreModel>> response) {
if(response.isSuccessful() &&
response.body().getData() != null &&
response.body().isSuccess() && !response.body().getData().isEmpty()){
showStoreListDialog(response.body().getData());
}
else {
ApiErrorUtils.parseError(response);
}
}
@Override
public void onFailure(Call<ResponseArray<StoreModel>> call, Throwable t) {
DialogHelper.showFailedDialog();
}
});
}
private void showStoreListDialog(final ArrayList<StoreModel> storeList){
Collections.sort(storeList, new Comparator<StoreModel>() {
@Override
public int compare(StoreModel s1, StoreModel s2) {
return s1.getPostCode().compareTo(s2.getPostCode());
}
});
final ArrayList<String> postCodeList = new ArrayList<>();
for(StoreModel storeModel : storeList){
storeModel.checkNull();
postCodeList.add(storeModel.getPostCode());
}
DialogHelper.showStoreListDialog(postCodeList, new MaterialDialog.ListCallback() {
@Override
public void onSelection(MaterialDialog dialog, View itemView, int position, CharSequence text) {
StoreModel selectedStoreModel = storeList.get(position);
SharedPrefsHelper.saveSelectedStore(selectedStoreModel);
checkVersion();
}
});
}
private void checkVersion(){
Call<ResponseObject<AppVersionModel>> call = ApiService.apiInterface.checkUpdate(getCheckUpdateParams());
Call<ResponseObject<AppVersionModel>> call = ApiService.apiInterface.checkUpdate(
SessionHelper.getSelectedStore().getStoreName(),
getCheckUpdateParams());
call.enqueue(new Callback<ResponseObject<AppVersionModel>>() {
@Override
public void onResponse(Call<ResponseObject<AppVersionModel>> call, Response<ResponseObject<AppVersionModel>> response) {
@@ -94,7 +151,7 @@ public class SplashActivity extends BaseActivity {
}
private void getCategoryList(){
Call<ResponseArray<CategoryModel>> call = ApiService.apiInterface.getAllCategories();
Call<ResponseArray<CategoryModel>> call = ApiService.apiInterface.getAllCategories(SessionHelper.getSelectedStore().getStoreName());
call.enqueue(new Callback<ResponseArray<CategoryModel>>() {
@Override
public void onResponse(Call<ResponseArray<CategoryModel>> call, Response<ResponseArray<CategoryModel>> response) {
@@ -117,7 +174,7 @@ public class SplashActivity extends BaseActivity {
}
private void getPizzaCategoryIds(){
Call<ResponseArray<Integer>> call = ApiService.apiInterface.getPizzaCategoryIds();
Call<ResponseArray<Integer>> call = ApiService.apiInterface.getPizzaCategoryIds(SessionHelper.getSelectedStore().getStoreName());
call.enqueue(new Callback<ResponseArray<Integer>>() {
@Override
public void onResponse(Call<ResponseArray<Integer>> call, Response<ResponseArray<Integer>> response) {
@@ -140,7 +197,7 @@ public class SplashActivity extends BaseActivity {
}
private void getIgnoredCategoryIds(){
Call<ResponseArray<Integer>> call = ApiService.apiInterface.getIgnoredCategoryIds();
Call<ResponseArray<Integer>> call = ApiService.apiInterface.getIgnoredCategoryIds(SessionHelper.getSelectedStore().getStoreName());
call.enqueue(new Callback<ResponseArray<Integer>>() {
@Override
public void onResponse(Call<ResponseArray<Integer>> call, Response<ResponseArray<Integer>> response) {

View File

@@ -1,10 +1,14 @@
package ch.pizzapp.android.api;
import ch.pizzapp.android.helper.SessionHelper;
public class ApiEndPoints {
private static final String PREFIX = "pizza/index.php?route=mobile/service/";
private static final String PREFIX = "/index.php?route=mobile/service/";
private static final String SUFFIX = "&is_mobile=1";
public static final String API_GET_STORE_LIST = "pizzacommon/servicemagazabelirle.php";
public static final String API_GET_ALL_CATEGORIES = PREFIX + "getAllCategories" + SUFFIX;
public static final String API_GET_IGNORED_CATEGORY_IDS= PREFIX + "getIgnoredCategory" + SUFFIX;
public static final String API_GET_PIZZA_CATEGORY_IDS= PREFIX + "getPizzaCategories" + SUFFIX;
@@ -12,33 +16,49 @@ public class ApiEndPoints {
public static final String API_LOGIN = PREFIX + "login" + SUFFIX;
public static final String API_LOGOUT = PREFIX + "logout" + SUFFIX;
public static final String API_GET_ORDER_HISTORY = PREFIX + "getOrders" + SUFFIX;
public static final String API_GET_CART_PRODUCTS = PREFIX + "getBasketProducts" + SUFFIX + "&token=";
public static final String API_GET_CLEAR_CART = PREFIX + "clearBasket" + SUFFIX;
public static final String API_GET_PRODUCTS_BY_CATEGORY = PREFIX + "getProductsByCategory" + SUFFIX;
public static final String API_GET_PRODUCT = PREFIX + "getProduct" + SUFFIX;
public static final String API_ADD_PRODUCTS_TO_BASKET = PREFIX + "addProductsToBasket" + SUFFIX + "&token=";
//public static final String API_ADD_PRODUCTS_TO_BASKET = PREFIX + "addProductsToBasketYeni" + SUFFIX + "&token=";
public static final String API_GET_SHIPPING_METHODS = PREFIX + "getShippingMethodsArray" + SUFFIX;
public static final String API_GET_CUSTOMER_ADDRESSES = PREFIX + "getAddresses" + SUFFIX;
public static final String API_ADD_NEW_ADDRESS = PREFIX + "addAddress" + SUFFIX + "&token=";
public static final String API_DELETE_ADDRESS = PREFIX + "deleteAddress" + SUFFIX + "&token=";
public static final String API_GET_PAYMENT_METHODS = PREFIX + "getPaymentMethodsArray" + SUFFIX;
public static final String API_CREATE_ORDER = PREFIX + "addOrder2" + SUFFIX + "&token=";
public static final String API_CHECK_UPDATE = PREFIX + "checkUpdate" + SUFFIX;
public static final String API_FORGOT_PASSWORD = PREFIX + "forgotPassword" + SUFFIX;
public static final String API_GET_CITY_LIST = PREFIX + "getCities" + SUFFIX;
public static final String API_GET_COUNTRY_LIST = PREFIX + "getCountries" + SUFFIX;
public static final String API_GET_ZONE_LIST = PREFIX + "getZones" + SUFFIX;
public static final String API_GET_CUSTOMER_PROFILE = PREFIX + "getCustomerInfo" + SUFFIX;
public static final String API_UPDATE_PASSWORD = PREFIX + "passwordUpdate" + SUFFIX + "&token=";
public static final String API_UPDATE_PROFILE = PREFIX + "updateCustomerInfo" + SUFFIX + "&token=";
public static final String API_REMOVE_RPODUCT_FORM_CART = PREFIX + "removeProductFromBasket" + SUFFIX + "&token=";
public static final String API_GET_STORE_INFO = PREFIX + "getStoreInfo" + SUFFIX;
public static final String API_GET_ORDER_PRODUCT_LIST = PREFIX + "getOrderProducts" + SUFFIX;
public static final String API_CHECK_COUPON = PREFIX + "checkCoupon" + SUFFIX + "&token=";
public static final String API_CHECK_CAMPAIGN_PIZZAPASS = PREFIX + "detectPizzaPassCampaign" + SUFFIX + "&token=";
public static final String API_CHECK_CAMPAIGN_CHAMPAGNE = PREFIX + "detectChampagneCampaign" + SUFFIX + "&token=";
public static final String API_CHECK_DELIVERY_TIME = PREFIX + "checkDeliveryTimeService" + SUFFIX;
public static final String API_CREATE_PAYMENT = PREFIX + "checkBrainTreePayment" + SUFFIX + "&token=";
public static final String API_REPEAT_ORDER = PREFIX + "reOrder" + SUFFIX + "&token=";
public static final String API_GET_DELIVERY_TIME_OF_STORE = PREFIX + "getDeliveryTimeForStore" + SUFFIX;
public static final String API_GET_CART_PRODUCTS =
SessionHelper.getSelectedStore().getStoreName() + "/index.php?route=mobile/service/" + "getBasketProducts" + SUFFIX + "&token=";
//addProductsToBasketYeni
public static final String API_ADD_PRODUCTS_TO_BASKET =
SessionHelper.getSelectedStore().getStoreName() + "/index.php?route=mobile/service/" + "addProductsToBasket" + SUFFIX + "&token=";
public static final String API_ADD_NEW_ADDRESS =
SessionHelper.getSelectedStore().getStoreName() + "/index.php?route=mobile/service/" + "addAddress" + SUFFIX + "&token=";
public static final String API_DELETE_ADDRESS =
SessionHelper.getSelectedStore().getStoreName() + "/index.php?route=mobile/service/" + "deleteAddress" + SUFFIX + "&token=";
public static final String API_CREATE_ORDER =
SessionHelper.getSelectedStore().getStoreName() + "/index.php?route=mobile/service/" + "addOrder2" + SUFFIX + "&token=";
public static final String API_UPDATE_PASSWORD =
SessionHelper.getSelectedStore().getStoreName() + "/index.php?route=mobile/service/" + "passwordUpdate" + SUFFIX + "&token=";
public static final String API_UPDATE_PROFILE =
SessionHelper.getSelectedStore().getStoreName() + "/index.php?route=mobile/service/" + "updateCustomerInfo" + SUFFIX + "&token=";
public static final String API_REMOVE_RPODUCT_FORM_CART =
SessionHelper.getSelectedStore().getStoreName() + "/index.php?route=mobile/service/" + "removeProductFromBasket" + SUFFIX + "&token=";
public static final String API_GET_ORDER_PRODUCT_LIST =
SessionHelper.getSelectedStore().getStoreName() + "/index.php?route=mobile/service/" + "getOrderProducts" + SUFFIX + "&token=";
public static final String API_CHECK_COUPON =
SessionHelper.getSelectedStore().getStoreName() + "/index.php?route=mobile/service/" + "checkCoupon" + SUFFIX + "&token=";
public static final String API_CREATE_PAYMENT =
SessionHelper.getSelectedStore().getStoreName() + "/index.php?route=mobile/service/" + "checkBrainTreePayment" + SUFFIX + "&token=";
public static final String API_REPEAT_ORDER =
SessionHelper.getSelectedStore().getStoreName() + "/index.php?route=mobile/service/" + "reOrder" + SUFFIX + "&token=";
}

View File

@@ -15,6 +15,8 @@ import ch.pizzapp.android.model.RemoveProductFromCartResponseModel;
import ch.pizzapp.android.model.ShippingMethodModel;
import ch.pizzapp.android.model.StoreInfoModel;
import ch.pizzapp.android.model.CityModel;
import ch.pizzapp.android.model.StoreModel;
import ch.pizzapp.android.model.StoreShiftModel;
import ch.pizzapp.android.model.ZoneModel;
import ch.pizzapp.android.model.cart.CartInfoModel;
import ch.pizzapp.android.model.CategoryModel;
@@ -30,6 +32,7 @@ import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;
import retrofit2.http.Url;
@@ -39,8 +42,191 @@ import retrofit2.http.Url;
public interface ApiInterface {
@GET("{storeName}" + ApiEndPoints.API_GET_ALL_CATEGORIES)
Call<ResponseArray<CategoryModel>> getAllCategories(@Path("storeName") String storeName);
@GET("{storeName}" + ApiEndPoints.API_GET_IGNORED_CATEGORY_IDS)
Call<ResponseArray<Integer>> getIgnoredCategoryIds(@Path("storeName") String storeName);
@GET("{storeName}" + ApiEndPoints.API_GET_PIZZA_CATEGORY_IDS)
Call<ResponseArray<Integer>> getPizzaCategoryIds(@Path("storeName") String storeName);
@FormUrlEncoded
@POST("{storeName}" + ApiEndPoints.API_REGISTER)
Call<ResponseObject<UserModel>> register(@Path("storeName") String storeName,
@FieldMap HashMap<String, Object> body);
@FormUrlEncoded
@POST("{storeName}" + ApiEndPoints.API_LOGIN)
Call<ResponseObject<UserModel>> login(@Path("storeName") String storeName,
@Field("email") String email,
@Field("password") String password);
@FormUrlEncoded
@POST("{storeName}" + ApiEndPoints.API_LOGOUT)
Call<ResponseObject> logout(@Path("storeName") String storeName,
@Field("token") String customerToken);
@GET("{storeName}" + ApiEndPoints.API_GET_ORDER_HISTORY)
Call<ResponseArray<OrderHistoryModel>> getOrderHistory(@Path("storeName") String storeName,
@Query("token") String token);
// OK
@POST
Call<ResponseObject<CartInfoModel>> getCartProducts(@Url String url);
// OK
@FormUrlEncoded
@POST
Call<ResponseObject<CartInfoModel>> getCartProductsForCommission(@Url String url,
@Field("payment_method") String paymentMethodCode,
@Field("shipping_method") String shippingMethodCode);
@GET("{storeName}" + ApiEndPoints.API_GET_CLEAR_CART)
Call<ResponseObject> clearCart(@Path("storeName") String storeName,
@Query("token") String token);
@GET("{storeName}" + ApiEndPoints.API_GET_PRODUCTS_BY_CATEGORY)
Call<ResponseArray<MenuProductModel>> getProductsByCategory(@Path("storeName") String storeName,
@Query("category_id") String categoryId);
@FormUrlEncoded
@POST("{storeName}" + ApiEndPoints.API_GET_PRODUCT)
Call<ResponseArray<MenuProductModel>> getProductById(@Path("storeName") String storeName,
@Field("product_id") int productId);
// * Bu projedeki post servisler bizden form-data bekliyor. Bu serviste @FormUrlEncoded yapınca ve
// * body'i @FieldMap HashMap<String, Object> body olarak verince, body içindeki alanlar
// * encode ediliyor, mesela body içindeki "[" karakteri "%5D" ye falan dönüşüyor, dolayısı ile servis bunları okuyamıyor.
// * Bu sebeple body olarak RequestBody verdim ve servisi çağırırken bod içindeki alanları FormBody olarak ekledim.
// OK
@POST
Call<ResponseObject<AddProductToBasketResponseModel>> addProductsToBasket(@Url String url,
@Body RequestBody body);
@GET("{storeName}" + ApiEndPoints.API_GET_SHIPPING_METHODS)
Call<ResponseArray<ShippingMethodModel>> getShippingMethods(@Path("storeName") String storeName,
@Query("token") String token);
@GET("{storeName}" + ApiEndPoints.API_GET_CUSTOMER_ADDRESSES)
Call<ResponseArray<AddressModel>> getCustomerAddresses(@Path("storeName") String storeName,
@Query("token") String token);
@FormUrlEncoded
@POST
Call<ResponseObject<AddNewAddressResponseModel>> addNewAddress(@Url String url,
@FieldMap HashMap<String, Object> body);
@FormUrlEncoded
@POST
Call<ResponseObject<DeleteAddressResponseModel>> deleteAddress(@Url String url,
@Field("address_id") String addressId);
@GET("{storeName}" + ApiEndPoints.API_GET_PAYMENT_METHODS)
Call<ResponseObject<PaymentMethodsResponseModel>> getPaymentMethods(@Path("storeName") String storeName,
@Query("token") String token);
@FormUrlEncoded
@POST
Call<ResponseObject<Integer>> createOrder(@Url String url, @FieldMap HashMap<String, Object> body);
@FormUrlEncoded
@POST("{storeName}" + ApiEndPoints.API_CHECK_UPDATE)
Call<ResponseObject<AppVersionModel>> checkUpdate(@Path("storeName") String storeName,
@FieldMap HashMap<String, Object> body);
@FormUrlEncoded
@POST("{storeName}" + ApiEndPoints.API_FORGOT_PASSWORD)
Call<ResponseObject> forgotPassword(@Path("storeName") String storeName,
@Field("email") String emailAddress);
@GET("{storeName}" + ApiEndPoints.API_GET_CITY_LIST)
Call<ResponseArray<CityModel>> getCityList(@Path("storeName") String storeName);
@GET("{storeName}" + ApiEndPoints.API_GET_COUNTRY_LIST)
Call<ResponseArray<CountryModel>> getCountryList(@Path("storeName") String storeName);
@FormUrlEncoded
@POST("{storeName}" + ApiEndPoints.API_GET_ZONE_LIST)
Call<ResponseArray<ZoneModel>> getZoneList(@Path("storeName") String storeName,
@Field("country_id") String countryId);
@GET("{storeName}" + ApiEndPoints.API_GET_CUSTOMER_PROFILE)
Call<ResponseObject<UserModel>> getCustomerProfile(@Path("storeName") String storeName,
@Query("token") String token);
@FormUrlEncoded
@POST
Call<ResponseObject> updatePassword(@Url String url,
@FieldMap HashMap<String, Object> body);
@FormUrlEncoded
@POST
Call<ResponseObject<UserModel>> updateProfile(@Url String url,
@FieldMap HashMap<String, Object> body);
@FormUrlEncoded
@POST
Call<ResponseObject<RemoveProductFromCartResponseModel>> removeProductFromCart(@Url String url,
@FieldMap HashMap<String, Object> body);
@GET("{storeName}" + ApiEndPoints.API_GET_STORE_INFO)
Call<ResponseObject<StoreInfoModel>> getStoreInfo(@Path("storeName") String storeName);
@FormUrlEncoded
@POST
Call<ResponseArray<OrderHistoryProductModel>> getOrderProductList(@Url String url,
@Field("order_id") String orderId);
@FormUrlEncoded
@POST
Call<ResponseObject<CheckCouponModel>> checkCoupon(@Url String url,
@Field("coupon") String couponCode);
@GET("{storeName}" + ApiEndPoints.API_CHECK_CAMPAIGN_PIZZAPASS)
Call<ResponseObject<CampaignModel>> checkPizzapassCampaign(@Path("storeName") String storeName,
@Query("token") String token);
@GET("{storeName}" + ApiEndPoints.API_CHECK_CAMPAIGN_CHAMPAGNE)
Call<ResponseObject<CampaignModel>> checkChampagneCampaign(@Path("storeName") String storeName,
@Query("token") String token);
@GET("{storeName}" + ApiEndPoints.API_CHECK_DELIVERY_TIME)
Call<ResponseObject<Boolean>> checkDeliveryTime(@Path("storeName") String storeName);
@FormUrlEncoded
@POST("{storeName}" + ApiEndPoints.API_CHECK_DELIVERY_TIME)
Call<ResponseObject<Boolean>> checkDeliveryTimeWithDateAndTime(@Path("storeName") String storeName,
@Field("delivery_date") String deliveryDateAndTime);
@FormUrlEncoded
@POST
Call<ResponseObject> createPayment(@Url String url,
@FieldMap HashMap<String, Object> body);
@FormUrlEncoded
@POST
Call<ResponseObject> repeatOrder(@Url String url,
@FieldMap HashMap<String, Object> body);
@GET(ApiEndPoints.API_GET_STORE_LIST)
Call<ResponseArray<StoreModel>> getStoreList();
@GET("{storeName}" + ApiEndPoints.API_GET_DELIVERY_TIME_OF_STORE)
Call<ResponseObject<StoreShiftModel>> getDeliveryTimeOfStore(@Path("storeName") String storeName);
/*
@GET(ApiEndPoints.API_GET_ALL_CATEGORIES)
Call<ResponseArray<CategoryModel>> getAllCategories();
Call<ResponseArray<CategoryModel>> getAllCategories(@Path("id") int id);
@GET(ApiEndPoints.API_GET_IGNORED_CATEGORY_IDS)
Call<ResponseArray<Integer>> getIgnoredCategoryIds();
@@ -82,12 +268,11 @@ public interface ApiInterface {
@POST(ApiEndPoints.API_GET_PRODUCT)
Call<ResponseArray<MenuProductModel>> getProductById(@Field("product_id") int productId);
/*
* Bu projedeki post servisler bizden form-data bekliyor. Bu serviste @FormUrlEncoded yapınca ve
* body'i @FieldMap HashMap<String, Object> body olarak verince, body içindeki alanlar
* encode ediliyor, mesela body içindeki "[" karakteri "%5D" ye falan dönüşüyor, dolayısı ile servis bunları okuyamıyor.
* Bu sebeple body olarak RequestBody verdim ve servisi çağırırken bod içindeki alanları FormBody olarak ekledim.
*/
// * Bu projedeki post servisler bizden form-data bekliyor. Bu serviste @FormUrlEncoded yapınca ve
// * body'i @FieldMap HashMap<String, Object> body olarak verince, body içindeki alanlar
// * encode ediliyor, mesela body içindeki "[" karakteri "%5D" ye falan dönüşüyor, dolayısı ile servis bunları okuyamıyor.
// * Bu sebeple body olarak RequestBody verdim ve servisi çağırırken bod içindeki alanları FormBody olarak ekledim.
@POST
Call<ResponseObject<AddProductToBasketResponseModel>> addProductsToBasket(@Url String url,
@Body RequestBody body);
@@ -177,4 +362,9 @@ public interface ApiInterface {
@POST
Call<ResponseObject> repeatOrder(@Url String url, @FieldMap HashMap<String, Object> body);
@GET(ApiEndPoints.API_GET_STORE_LIST)
Call<ResponseArray<StoreModel>> getStoreList();
*/
}

View File

@@ -65,6 +65,8 @@ public class CartFragment extends BaseFragment {
@BindString(R.string.alert_remove_prdocut_from_cart) String removeProdcutFromCartAlert;
@BindString(R.string.product_removed_from_cart) String productRemovedFromCartText;
@BindString(R.string.alert_clear_cart) String clearCartAlertText;
@BindString(R.string.minimum_order_price_alert) String minimumOrderPriceAlertText;
@BindString(R.string.minimum_order_price) String minimumOrderPriceText;
@BindColor(R.color.actvity_default_background_color_1) int grayColor;
@@ -119,10 +121,30 @@ public class CartFragment extends BaseFragment {
});
break;
case R.id.continueCartButton:
Intent continueCartIntent = new Intent(BaseActivity.currentActivity, CreateOrderActivity.class);
continueCartIntent.putExtra("cartInfoModel", cartInfoModel);
startActivity(continueCartIntent);
Double storeMinimumPrice = PriceHelper.stringToDouble(SessionHelper.getSelectedStore().getMinimumPrice());
Double currentBasketPrice = PriceHelper.stringToDouble(PriceHelper.removeCurrencyFromPrice(cartInfoModel.getCartTotalModel().getText()));
if(currentBasketPrice >= storeMinimumPrice){
Intent continueCartIntent = new Intent(BaseActivity.currentActivity, CreateOrderActivity.class);
continueCartIntent.putExtra("cartInfoModel", cartInfoModel);
startActivity(continueCartIntent);
}
else {
String dialogText =
new StringBuilder().append(minimumOrderPriceAlertText)
.append("\n")
.append(minimumOrderPriceText).append(" ")
.append(PriceHelper.getPriceWithCurreny(storeMinimumPrice))
.toString();
DialogHelper.showAlertDialog(
BaseActivity.currentActivity,
dialogText);
}
break;
}
}
@@ -166,6 +188,7 @@ public class CartFragment extends BaseFragment {
private void clearCart(){
DialogHelper.showLoadingDialog();
Call<ResponseObject> call = ApiService.apiInterface.clearCart(
SessionHelper.getSelectedStore().getStoreName(),
SessionHelper.getCustomerToken().getToken());
call.enqueue(new Callback<ResponseObject>() {
@Override

View File

@@ -25,6 +25,7 @@ import ch.pizzapp.android.api.ResponseArray;
import ch.pizzapp.android.dialog.ProductPropertiesBottomSheetDialog;
import ch.pizzapp.android.helper.DialogHelper;
import ch.pizzapp.android.helper.DisplayHelper;
import ch.pizzapp.android.helper.SessionHelper;
import ch.pizzapp.android.interfaces.RecyclerItemClickListener;
import ch.pizzapp.android.model.CategoryModel;
import ch.pizzapp.android.model.menu.MenuProductModel;
@@ -114,7 +115,9 @@ public class MenuFragment extends BaseFragment {
private void getProductsByCategory(){
DialogHelper.showLoadingDialog();
Call<ResponseArray<MenuProductModel>> call = ApiService.apiInterface.getProductsByCategory(categoryModel.getCategoryIdString());
Call<ResponseArray<MenuProductModel>> call = ApiService.apiInterface.getProductsByCategory(
SessionHelper.getSelectedStore().getStoreName(),
categoryModel.getCategoryIdString());
call.enqueue(new Callback<ResponseArray<MenuProductModel>>() {
@Override
public void onResponse(Call<ResponseArray<MenuProductModel>> call, Response<ResponseArray<MenuProductModel>> response) {

View File

@@ -125,7 +125,9 @@ public class OrderHistoryFragment extends BaseFragment {
private void getOrderHistory(){
DialogHelper.showLoadingDialog();
Call<ResponseArray<OrderHistoryModel>> call = ApiService.apiInterface.
getOrderHistory(SessionHelper.getCustomerToken().getToken());
getOrderHistory(
SessionHelper.getSelectedStore().getStoreName(),
SessionHelper.getCustomerToken().getToken());
call.enqueue(new Callback<ResponseArray<OrderHistoryModel>>() {
@Override
public void onResponse(Call<ResponseArray<OrderHistoryModel>> call, Response<ResponseArray<OrderHistoryModel>> response) {
@@ -156,6 +158,7 @@ public class OrderHistoryFragment extends BaseFragment {
private void clearCart(final String orderId){
DialogHelper.showLoadingDialog();
Call<ResponseObject> call = ApiService.apiInterface.clearCart(
SessionHelper.getSelectedStore().getStoreName(),
SessionHelper.getCustomerToken().getToken());
call.enqueue(new Callback<ResponseObject>() {
@Override

View File

@@ -24,6 +24,7 @@ import ch.pizzapp.android.api.ResponseArray;
import ch.pizzapp.android.dialog.ProductPropertiesBottomSheetDialog;
import ch.pizzapp.android.helper.DialogHelper;
import ch.pizzapp.android.helper.DisplayHelper;
import ch.pizzapp.android.helper.SessionHelper;
import ch.pizzapp.android.interfaces.RecyclerItemClickListener;
import ch.pizzapp.android.model.CategoryModel;
import ch.pizzapp.android.model.menu.MenuProductModel;
@@ -112,7 +113,9 @@ public class ProductFragment extends BaseFragment {
private void getProductById(){
DialogHelper.showLoadingDialog();
Call<ResponseArray<MenuProductModel>> call = ApiService.apiInterface.getProductById(getProductIdByCategory());
Call<ResponseArray<MenuProductModel>> call = ApiService.apiInterface.getProductById(
SessionHelper.getSelectedStore().getStoreName(),
getProductIdByCategory());
call.enqueue(new Callback<ResponseArray<MenuProductModel>>() {
@Override
public void onResponse(Call<ResponseArray<MenuProductModel>> call, Response<ResponseArray<MenuProductModel>> response) {

View File

@@ -132,6 +132,7 @@ public class ProfileFragment extends BaseFragment {
private void getCustomerProfile(){
DialogHelper.showLoadingDialog();
Call<ResponseObject<UserModel>> call = ApiService.apiInterface.getCustomerProfile(
SessionHelper.getSelectedStore().getStoreName(),
SessionHelper.getCustomerToken().getToken());
call.enqueue(new Callback<ResponseObject<UserModel>>() {
@Override
@@ -170,7 +171,9 @@ public class ProfileFragment extends BaseFragment {
private void logOutOnWeb(){
DialogHelper.showLoadingDialog();
Call<ResponseObject> call = ApiService.apiInterface.logout(SessionHelper.getCustomerToken().getToken());
Call<ResponseObject> call = ApiService.apiInterface.logout(
SessionHelper.getSelectedStore().getStoreName(),
SessionHelper.getCustomerToken().getToken());
call.enqueue(new Callback<ResponseObject>() {
@Override
public void onResponse(Call<ResponseObject> call, Response<ResponseObject> response) {

View File

@@ -16,6 +16,7 @@ import ch.pizzapp.android.api.ApiErrorUtils;
import ch.pizzapp.android.api.ApiService;
import ch.pizzapp.android.api.ResponseObject;
import ch.pizzapp.android.helper.DialogHelper;
import ch.pizzapp.android.helper.SessionHelper;
import ch.pizzapp.android.model.StoreInfoModel;
import retrofit2.Call;
import retrofit2.Callback;
@@ -59,7 +60,7 @@ public class StoreInfoFragment extends BaseFragment {
private void getStoreInfo(){
DialogHelper.showLoadingDialog();
Call<ResponseObject<StoreInfoModel>> call = ApiService.apiInterface.getStoreInfo();
Call<ResponseObject<StoreInfoModel>> call = ApiService.apiInterface.getStoreInfo(SessionHelper.getSelectedStore().getStoreName());
call.enqueue(new Callback<ResponseObject<StoreInfoModel>>() {
@Override
public void onResponse(Call<ResponseObject<StoreInfoModel>> call, Response<ResponseObject<StoreInfoModel>> response) {

View File

@@ -20,6 +20,7 @@ import com.google.android.gms.wallet.Cart;
import com.google.android.gms.wallet.LineItem;
import com.wdullaer.materialdatetimepicker.date.DatePickerDialog;
import com.wdullaer.materialdatetimepicker.time.TimePickerDialog;
import com.wdullaer.materialdatetimepicker.time.Timepoint;
import java.util.ArrayList;
import java.util.Calendar;
@@ -46,6 +47,8 @@ import ch.pizzapp.android.helper.SessionHelper;
import ch.pizzapp.android.helper.SharedPrefsHelper;
import ch.pizzapp.android.model.CampaignModel;
import ch.pizzapp.android.model.PaymentMethodModel;
import ch.pizzapp.android.model.StoreShiftModel;
import ch.pizzapp.android.model.StoreWorkDayModel;
import ch.pizzapp.android.model.cart.CartInfoModel;
import ch.pizzapp.android.model.cart.CartProductModel;
import ch.pizzapp.android.model.cart.CartTotalModel;
@@ -89,9 +92,11 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
private int REQUEST_CODE_CAMPAIGN_PRODUCT_LIST = 7847;
private final int REQUEST_CODE_BRAINTREE_PAYMENT = 3784;
private CreateOrderActivity createOrderActivity;
private String dateOfOrder, timeOfOrder;
private String dateOfOrderString, timeOfOrder;
private Calendar dateOfOrder;
private ArrayList<CartTotalModel> cartTotalList = new ArrayList<>();
private OrderPriceRecyclerAdapter orderPriceRecyclerAdapter;
private StoreShiftModel storeShiftModel;
public CreateOrderSummaryFragment() {}
@@ -182,7 +187,9 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
DialogHelper.showLoadingDialog();
ApiService
.apiInterface
.checkPizzapassCampaign(SessionHelper.getCustomerToken().getToken())
.checkPizzapassCampaign(
SessionHelper.getSelectedStore().getStoreName(),
SessionHelper.getCustomerToken().getToken())
.enqueue(new Callback<ResponseObject<CampaignModel>>() {
@Override
public void onResponse(Call<ResponseObject<CampaignModel>> call, Response<ResponseObject<CampaignModel>> response) {
@@ -276,7 +283,9 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
private void checkChampagneCampaign(){
ApiService
.apiInterface
.checkChampagneCampaign(SessionHelper.getCustomerToken().getToken())
.checkChampagneCampaign(
SessionHelper.getSelectedStore().getStoreName(),
SessionHelper.getCustomerToken().getToken())
.enqueue(new Callback<ResponseObject<CampaignModel>>() {
@Override
public void onResponse(Call<ResponseObject<CampaignModel>> call, Response<ResponseObject<CampaignModel>> response) {
@@ -356,19 +365,22 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
private void checkDeliveryTime(){
ApiService
.apiInterface
.checkDeliveryTime()
.checkDeliveryTime(SessionHelper.getSelectedStore().getStoreName())
.enqueue(new Callback<ResponseObject<Boolean>>() {
@Override
public void onResponse(Call<ResponseObject<Boolean>> call, Response<ResponseObject<Boolean>> response) {
if(response.isSuccessful() &&
response.body() != null){
if(response.body().isSuccess()){
if(!response.body().isSuccess()){
redirectToPayment();
}
else {
getDeliveryTimeOfStore();
/*
DialogHelper.hideLoadingDialog();
showRestaurantOutOfOrderDialog(restaurantOutOfOrderText);
*/
}
}
@@ -382,40 +394,52 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
public void onFailure(Call<ResponseObject<Boolean>> call, Throwable t) {
DialogHelper.hideLoadingDialog();
DialogHelper.showFailedDialog();
}
});
}
private void getDeliveryTimeOfStore(){
ApiService
.apiInterface
.getDeliveryTimeOfStore(SessionHelper.getSelectedStore().getStoreName())
.enqueue(new Callback<ResponseObject<StoreShiftModel>>() {
@Override
public void onResponse(Call<ResponseObject<StoreShiftModel>> call, Response<ResponseObject<StoreShiftModel>> response) {
DialogHelper.hideLoadingDialog();
if(response.isSuccessful() &&
response.body() != null){
/*
// dummy //
if(response.body().isSuccess()){
storeShiftModel = response.body().getData();
showRestaurantOutOfOrderDialog(restaurantOutOfOrderText);
}
else {
DialogHelper.showAlertDialog(BaseActivity.currentActivity, genericErrorText);
}
if(createOrderActivity.getSelectedPaymentMethod().getPaymentMethodType() == PaymentMethodModel.PaymentMethodType.UNKNOWN){
}
else{
DialogHelper.hideLoadingDialog();
DialogHelper.showAlertDialog(BaseActivity.currentActivity, unknownPaymentMethodText);
ApiErrorUtils.parseError(response);
}
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();
}
*/
}
@Override
public void onFailure(Call<ResponseObject<StoreShiftModel>> call, Throwable t) {
DialogHelper.hideLoadingDialog();
DialogHelper.showFailedDialog();
}
});
}
private void checkDeliveryTimeWithDateAndTime(){
DialogHelper.showLoadingDialog();
String deliveryDateAndTime = dateOfOrder + " " + timeOfOrder;
String deliveryDateAndTime = dateOfOrderString + " " + timeOfOrder;
ApiService
.apiInterface
.checkDeliveryTimeWithDateAndTime(deliveryDateAndTime)
.checkDeliveryTimeWithDateAndTime(
SessionHelper.getSelectedStore().getStoreName(),
deliveryDateAndTime)
.enqueue(new Callback<ResponseObject<Boolean>>() {
@Override
public void onResponse(Call<ResponseObject<Boolean>> call, Response<ResponseObject<Boolean>> response) {
@@ -518,7 +542,10 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
dayOfOrder = "0" + dayOfOrder;
}
dateOfOrder = dayOfOrder + "-" + monthOfOrder + "-" + yearOfOrder;
dateOfOrder = Calendar.getInstance();
dateOfOrder.set(year, monthOfYear, dayOfMonth);
dateOfOrderString = dayOfOrder + "-" + monthOfOrder + "-" + yearOfOrder;
showTimePickerDialog();
}
},
@@ -541,6 +568,33 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
int nowMinute = nowDate.get(Calendar.MINUTE);
int nowSecond = nowDate.get(Calendar.SECOND);
int selectedDayIndex = dateOfOrder.get(Calendar.DAY_OF_WEEK);
StoreWorkDayModel storeWorkDayModelOfSelectedDay = new StoreWorkDayModel();
switch (selectedDayIndex){
case 0:
storeWorkDayModelOfSelectedDay = storeShiftModel.getMondayShift();
break;
case 1:
storeWorkDayModelOfSelectedDay = storeShiftModel.getTuesdayShift();
break;
case 2:
storeWorkDayModelOfSelectedDay = storeShiftModel.getWednesdayShift();
break;
case 3:
storeWorkDayModelOfSelectedDay = storeShiftModel.getThursdayShift();
break;
case 4:
storeWorkDayModelOfSelectedDay = storeShiftModel.getFridayShift();
break;
case 5:
storeWorkDayModelOfSelectedDay = storeShiftModel.getSaturdayShift();
break;
case 6:
storeWorkDayModelOfSelectedDay = storeShiftModel.getSundayShift();
break;
}
TimePickerDialog timePickerDialog =
TimePickerDialog.newInstance(
new TimePickerDialog.OnTimeSetListener() {
@@ -568,6 +622,17 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
true
);
int shiftStartHour = Integer.valueOf(storeWorkDayModelOfSelectedDay.getShiftStartTime().substring(0,2));
int shiftStartMinute = Integer.valueOf(storeWorkDayModelOfSelectedDay.getShiftStartTime().substring(3, 5));
int shiftEndHour = Integer.valueOf(storeWorkDayModelOfSelectedDay.getShiftEndTime().substring(0,2));
int shiftEndMinute = Integer.valueOf(storeWorkDayModelOfSelectedDay.getShiftEndTime().substring(3, 5));
//timePickerDialog.setMinTime(new Timepoint(shiftStartHour, shiftStartMinute));
//timePickerDialog.setMaxTime(new Timepoint(shiftEndHour, shiftEndMinute));
timePickerDialog.setSelectableTimes(generateEnabledTimePoints(storeWorkDayModelOfSelectedDay));
timePickerDialog.vibrate(false);
//timePickerDialog.setMinTime(nowHour, nowMinute, nowSecond);
timePickerDialog.show(BaseActivity.currentActivity.getFragmentManager(), choosetext);
@@ -658,13 +723,13 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
.append(createOrderActivity.getOrderNote())
.append("<br/>");
if(dateOfOrder != null && !dateOfOrder.isEmpty() &&
if(dateOfOrderString != null && !dateOfOrderString.isEmpty() &&
timeOfOrder != null && !timeOfOrder.isEmpty()){
stringBuilder
.append(deliveryDateText)
.append(" ")
.append(dateOfOrder)
.append(dateOfOrderString)
.append("\n")
.append(deliveryTimeText)
.append(" ")
@@ -672,7 +737,12 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
}
return stringBuilder.toString();
if(stringBuilder.toString().equals("\n<br/>") || stringBuilder.toString().equals("<br/>")){
return "";
}
else {
return stringBuilder.toString();
}
}
private boolean isCartContainsAnyPizza(){
@@ -898,4 +968,88 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
}
*/
/*
private Timepoint[] generateDisabledTimePoints(StoreWorkDayModel storeWorkDayModelOfSelectedDay){
int breakStartHour = Integer.valueOf(storeWorkDayModelOfSelectedDay.getBreakStartTime().substring(0,2));
int breakStartMinute = Integer.valueOf(storeWorkDayModelOfSelectedDay.getBreakStartTime().substring(3, 5));
int breakEndHour = Integer.valueOf(storeWorkDayModelOfSelectedDay.getBreakEndTime().substring(0,2));
int breakEndMinute = Integer.valueOf(storeWorkDayModelOfSelectedDay.getBreakEndTime().substring(3, 5));
int hour = breakStartHour;
int minute = breakStartMinute;
ArrayList<Timepoint> disabledTimePointList = new ArrayList<>();
while (hour <= breakEndHour && minute <= breakEndMinute){
disabledTimePointList.add(new Timepoint(hour, minute));
Log.i("vrjgerureg", "" + hour + ":" + minute);
minute++;
if(minute == 60){
minute = 0;
hour += 1;
}
}
return disabledTimePointList.toArray(new Timepoint[disabledTimePointList.size()]);
}
*/
private Timepoint[] generateEnabledTimePoints(StoreWorkDayModel storeWorkDayModelOfSelectedDay){
int shiftStartHour = Integer.valueOf(storeWorkDayModelOfSelectedDay.getShiftStartTime().substring(0,2));
int shiftStartMinute = Integer.valueOf(storeWorkDayModelOfSelectedDay.getShiftStartTime().substring(3, 5));
int shiftEndHour = Integer.valueOf(storeWorkDayModelOfSelectedDay.getShiftEndTime().substring(0,2));
int shiftEndMinute = Integer.valueOf(storeWorkDayModelOfSelectedDay.getShiftEndTime().substring(3, 5));
int breakStartHour = Integer.valueOf(storeWorkDayModelOfSelectedDay.getBreakStartTime().substring(0,2));
int breakStartMinute = Integer.valueOf(storeWorkDayModelOfSelectedDay.getBreakStartTime().substring(3, 5));
int breakEndHour = Integer.valueOf(storeWorkDayModelOfSelectedDay.getBreakEndTime().substring(0,2));
int breakEndMinute = Integer.valueOf(storeWorkDayModelOfSelectedDay.getBreakEndTime().substring(3, 5));
int hour = shiftStartHour;
int minute = shiftStartMinute;
ArrayList<Timepoint> enabledTimePointList = new ArrayList<>();
// öğleden tatilinden önceki kısım
while (hour <= breakStartHour){
enabledTimePointList.add(new Timepoint(hour, minute));
minute++;
if(minute == 60){
minute = 0;
hour += 1;
}
if(hour == breakStartHour && minute == breakStartMinute){
break;
}
}
// öğle tatilinden sonraki kısım
if(breakEndMinute == 59){
breakEndMinute = 0;
breakEndHour += 1;
}
hour = breakEndHour;
minute = breakEndMinute;
while (hour <= shiftEndHour){
enabledTimePointList.add(new Timepoint(hour, minute));
minute++;
if(minute == 60){
minute = 0;
hour += 1;
}
if(hour == shiftEndHour && minute == shiftEndMinute){
break;
}
}
return enabledTimePointList.toArray(new Timepoint[enabledTimePointList.size()]);
}
}

View File

@@ -120,6 +120,7 @@ public class PaymentMethodFragment extends CreateOrderBaseFragment {
private void getPaymentMethods(){
DialogHelper.showLoadingDialog();
Call<ResponseObject<PaymentMethodsResponseModel>> call = ApiService.apiInterface.getPaymentMethods(
SessionHelper.getSelectedStore().getStoreName(),
SessionHelper.getCustomerToken().getToken());
call.enqueue(new Callback<ResponseObject<PaymentMethodsResponseModel>>() {
@Override

View File

@@ -115,6 +115,7 @@ public class ShippingAddressFragment extends CreateOrderBaseFragment {
private void getCustomerShippingAddresses(){
DialogHelper.showLoadingDialog();
Call<ResponseArray<AddressModel>> call = ApiService.apiInterface.getCustomerAddresses(
SessionHelper.getSelectedStore().getStoreName(),
SessionHelper.getCustomerToken().getToken());
call.enqueue(new Callback<ResponseArray<AddressModel>>() {
@Override

View File

@@ -86,6 +86,7 @@ public class ShippingMethodFragment extends CreateOrderBaseFragment {
private void getShippingMethods(){
DialogHelper.showLoadingDialog();
Call<ResponseArray<ShippingMethodModel>> call = ApiService.apiInterface.getShippingMethods(
SessionHelper.getSelectedStore().getStoreName(),
SessionHelper.getCustomerToken().getToken());
call.enqueue(new Callback<ResponseArray<ShippingMethodModel>>() {
@Override

View File

@@ -290,4 +290,18 @@ public class DialogHelper {
.show();
}
public static void showStoreListDialog(ArrayList<String> itemList,
MaterialDialog.ListCallback listCallback){
new MaterialDialog.Builder(BaseActivity.currentActivity)
.title(R.string.choose_store)
.titleColorRes(R.color.red)
.contentColorRes(R.color.black)
.items(itemList)
.cancelable(false)
.itemsCallback(listCallback)
.typeface("Quicksand-Medium.ttf", "Quicksand-Regular.ttf")
.show();
}
}

View File

@@ -100,7 +100,7 @@ public class PriceHelper {
.toString();
}
private static Double stringToDouble(String string){
public static Double stringToDouble(String string){
string = addFractions(string);
Double dbl = Double.valueOf(string);
return Math.floor(dbl * 100) / 100;

View File

@@ -6,6 +6,7 @@ import java.util.Calendar;
import java.util.Date;
import ch.pizzapp.android.model.CustomerTokenModel;
import ch.pizzapp.android.model.StoreModel;
import ch.pizzapp.android.model.UserModel;
/**
@@ -43,7 +44,9 @@ public class SessionHelper {
}
public static boolean isCustomerLoggedIn(){
return SharedPrefsHelper.isCustomerLoggedIn();
return SharedPrefsHelper.isCustomerLoggedIn() &&
SharedPrefsHelper.getCustomerToken().getStoreOfToken().getStoreName().toLowerCase().equals(
SharedPrefsHelper.getSelectedStore().getStoreName().toLowerCase());
}
public static void setUserSeenPizzapassCampaign(boolean isSeen){
@@ -78,6 +81,14 @@ public class SessionHelper {
return SharedPrefsHelper.isUserUsedChampagneCampaign();
}
public static void setSelectedStore(StoreModel storeModel){
SharedPrefsHelper.saveSelectedStore(storeModel);
}
public static StoreModel getSelectedStore(){
return SharedPrefsHelper.getSelectedStore();
}
public static void logOut(){
setCustomerLoggedIn(false);

View File

@@ -14,6 +14,7 @@ import java.util.Locale;
import ch.pizzapp.android.activity.BaseActivity;
import ch.pizzapp.android.model.CategoryModel;
import ch.pizzapp.android.model.CustomerTokenModel;
import ch.pizzapp.android.model.StoreModel;
import ch.pizzapp.android.model.UserModel;
import static android.content.Context.MODE_PRIVATE;
@@ -38,6 +39,7 @@ public class SharedPrefsHelper {
private static final String PREF_KEY_USER_USED_PIZZAPASS_CAMPAIGN = SHARED_PREFS_NAME + "userUsedPizzapassCampaign";
private static final String PREF_KEY_USER_SEEN_CHAMPAGNE_CAMPAIGN = SHARED_PREFS_NAME + "userSeenChampagneCampaign";
private static final String PREF_KEY_USER_USED_CHAMPAGNE_CAMPAIGN = SHARED_PREFS_NAME + "userUsedChampagneCampaign";
private static final String PREF_KEY_USER_SELECTED_STORE = SHARED_PREFS_NAME + "selectedStore";
private static SharedPreferences sharedPreferences =
BaseActivity.currentActivity
@@ -177,6 +179,21 @@ public class SharedPrefsHelper {
editor.apply();
}
public static void saveSelectedStore(StoreModel storeModel){
editor.putString(PREF_KEY_USER_SELECTED_STORE, gson.toJson(storeModel));
editor.apply();
}
public static StoreModel getSelectedStore(){
StoreModel selectedStoreModel = gson.fromJson(sharedPreferences.getString(PREF_KEY_USER_SELECTED_STORE, ""), StoreModel.class);
if(selectedStoreModel == null){
selectedStoreModel = new StoreModel();
}
return selectedStoreModel;
}
/*
public static void saveCategoryList(ArrayList<Category> cats){

View File

@@ -21,6 +21,8 @@ public class CustomerTokenModel implements Serializable {
@Expose @SerializedName("token_death_time") private String expiresIn;
@Expose @SerializedName("refresh_token") private String refreshToken;
private StoreModel storeOfToken;
public boolean isCustomerTokenAlive(){
long millis7days = 86400000 * 7;
return DateTimeHelper.getMillisFromDateString(expiresIn) - System.currentTimeMillis() >= millis7days;
@@ -61,4 +63,15 @@ public class CustomerTokenModel implements Serializable {
public void setRefreshToken(String refreshToken) {
this.refreshToken = refreshToken;
}
public StoreModel getStoreOfToken() {
if(storeOfToken == null){
storeOfToken = new StoreModel();
}
return storeOfToken;
}
public void setStoreOfToken(StoreModel storeOfToken) {
this.storeOfToken = storeOfToken;
}
}

View File

@@ -0,0 +1,111 @@
package ch.pizzapp.android.model;
import com.google.gson.annotations.SerializedName;
public class StoreModel {
@SerializedName("shipping_point_id")
private String shippingPointId;
@SerializedName("store_id")
private String storeId;
@SerializedName("postcode")
private String postCode;
@SerializedName("city")
private String city;
@SerializedName("minimum_price")
private String minimumPrice;
@SerializedName("canton")
private String canton;
@SerializedName("store_name")
private String storeName;
public StoreModel(){
checkNull();
}
public void checkNull(){
if(shippingPointId == null){
shippingPointId = "";
}
if(storeId == null){
storeId = "";
}
if(postCode == null){
postCode = "";
}
if(city == null){
city = "";
}
if(minimumPrice == null){
minimumPrice = "";
}
if(canton == null){
canton = "";
}
if(storeName == null){
storeName = "";
}
}
public String getShippingPointId() {
return shippingPointId;
}
public void setShippingPointId(String shippingPointId) {
this.shippingPointId = shippingPointId;
}
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public String getPostCode() {
return postCode;
}
public void setPostCode(String postCode) {
this.postCode = postCode;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getMinimumPrice() {
return minimumPrice;
}
public void setMinimumPrice(String minimumPrice) {
this.minimumPrice = minimumPrice;
}
public String getCanton() {
return canton;
}
public void setCanton(String canton) {
this.canton = canton;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
}

View File

@@ -0,0 +1,84 @@
package ch.pizzapp.android.model;
import com.google.gson.annotations.SerializedName;
public class StoreShiftModel {
@SerializedName("1")
private StoreWorkDayModel mondayShift;
@SerializedName("2")
private StoreWorkDayModel tuesdayShift;
@SerializedName("3")
private StoreWorkDayModel wednesdayShift;
@SerializedName("4")
private StoreWorkDayModel thursdayShift;
@SerializedName("5")
private StoreWorkDayModel fridayShift;
@SerializedName("6")
private StoreWorkDayModel saturdayShift;
@SerializedName("7")
private StoreWorkDayModel sundayShift;
public StoreWorkDayModel getMondayShift() {
return mondayShift;
}
public void setMondayShift(StoreWorkDayModel mondayShift) {
this.mondayShift = mondayShift;
}
public StoreWorkDayModel getTuesdayShift() {
return tuesdayShift;
}
public void setTuesdayShift(StoreWorkDayModel tuesdayShift) {
this.tuesdayShift = tuesdayShift;
}
public StoreWorkDayModel getWednesdayShift() {
return wednesdayShift;
}
public void setWednesdayShift(StoreWorkDayModel wednesdayShift) {
this.wednesdayShift = wednesdayShift;
}
public StoreWorkDayModel getThursdayShift() {
return thursdayShift;
}
public void setThursdayShift(StoreWorkDayModel thursdayShift) {
this.thursdayShift = thursdayShift;
}
public StoreWorkDayModel getFridayShift() {
return fridayShift;
}
public void setFridayShift(StoreWorkDayModel fridayShift) {
this.fridayShift = fridayShift;
}
public StoreWorkDayModel getSaturdayShift() {
return saturdayShift;
}
public void setSaturdayShift(StoreWorkDayModel saturdayShift) {
this.saturdayShift = saturdayShift;
}
public StoreWorkDayModel getSundayShift() {
return sundayShift;
}
public void setSundayShift(StoreWorkDayModel sundayShift) {
this.sundayShift = sundayShift;
}
}

View File

@@ -0,0 +1,65 @@
package ch.pizzapp.android.model;
import com.google.gson.annotations.SerializedName;
public class StoreWorkDayModel {
@SerializedName("begin")
private String shiftStartTime;
@SerializedName("paydos_baslangic")
private String breakStartTime;
@SerializedName("paydos_bitis")
private String breakEndTime;
@SerializedName("end")
private String shiftEndTime;
public void checkNull(){
if(shiftStartTime == null){
shiftStartTime = "00:00";
}
if(breakStartTime == null){
breakStartTime = "00:00";
}
if(breakEndTime == null){
breakEndTime = "00:00";
}
if(shiftEndTime == null){
shiftEndTime = "00:00";
}
}
public String getShiftStartTime() {
return shiftStartTime;
}
public void setShiftStartTime(String shiftStartTime) {
this.shiftStartTime = shiftStartTime;
}
public String getBreakStartTime() {
return breakStartTime;
}
public void setBreakStartTime(String breakStartTime) {
this.breakStartTime = breakStartTime;
}
public String getBreakEndTime() {
return breakEndTime;
}
public void setBreakEndTime(String breakEndTime) {
this.breakEndTime = breakEndTime;
}
public String getShiftEndTime() {
return shiftEndTime;
}
public void setShiftEndTime(String shiftEndTime) {
this.shiftEndTime = shiftEndTime;
}
}

View File

@@ -32,10 +32,9 @@
<!-- SplashActivity -->  
<string name="no_network_message">Keine Internetverbindung. Bitte versuchen Sie es später noch einmal.</string>
  
<string name="alert_update_app">Sie müssen die Pizzalink-Applikation aktualisieren, um sie zu verwenden.</string>
    
<string name="update_app">AKTUALISIEREN</string>
<string name="choose_store">Posta Kodu Seçin</string>
<!-- SplashActivity -->
<!-- LoginActivity-->
@@ -105,6 +104,8 @@
    
<string name="product_removed_from_cart">Produkt wurde aus dem Warenkorb entfernt.</string>    
<string name="alert_clear_cart">Möchten Sie alle Produkte aus dem Warenkorb entfernen?</string>
<string name="minimum_order_price_alert">Minimum tutarın altında sipariş veremezsiniz.</string>
<string name="minimum_order_price">Minimum Sipariş Tutarı:</string>
<!-- CartFragment-->
<!-- OrderHistoryFragment-->