Files
Pizzalemon/app/src/main/java/ch/pizzacucina/android/helper/SessionHelper.java
2020-08-15 14:36:38 +03:00

143 lines
4.7 KiB
Java

package ch.pizzacucina.android.helper;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import ch.pizzacucina.android.model.CouponModel;
import ch.pizzacucina.android.model.CouponType;
import ch.pizzacucina.android.model.GeneralCouponModel;
import ch.pizzacucina.android.model.CustomerTokenModel;
import ch.pizzacucina.android.model.PersonalCouponModel;
import ch.pizzacucina.android.model.StoreModel;
import ch.pizzacucina.android.model.UserModel;
/**
* Created by cimenmus on 11/09/2017.
*/
public class SessionHelper {
public static void saveCustomer(UserModel user){
SharedPrefsHelper.saveUser(user);
}
public static UserModel getUser(){
return SharedPrefsHelper.getUser();
}
public static void clearCustomerInfo(){
SharedPrefsHelper.clearCustomerInfo();
}
public static void saveCustomerToken(CustomerTokenModel customerToken){
SharedPrefsHelper.saveCustomerToken(customerToken);
}
public static CustomerTokenModel getCustomerToken(){
return SharedPrefsHelper.getCustomerToken();
}
public static void clearCustomerToken(){
SharedPrefsHelper.clearCustomerToken();
}
public static void setCustomerLoggedIn(boolean loggedId){
SharedPrefsHelper.setCustomerLoggedIn(loggedId);
}
public static boolean isCustomerLoggedIn(){
return SharedPrefsHelper.isCustomerLoggedIn() &&
SharedPrefsHelper.getCustomerToken().getStoreOfToken().getStoreName().toLowerCase().equals(
SharedPrefsHelper.getSelectedStore().getStoreName().toLowerCase());
}
public static void setSelectedStore(StoreModel storeModel){
SharedPrefsHelper.saveSelectedStore(storeModel);
}
public static StoreModel getSelectedStore(){
StoreModel selectedStore = SharedPrefsHelper.getSelectedStore();
return selectedStore;
//return SharedPrefsHelper.getSelectedStore();
}
public static void setIsFirstTime(boolean isFirstTime){
SharedPrefsHelper.setIsFirstTime(isFirstTime);
}
public static boolean isFirstTime(){
return SharedPrefsHelper.isFirstTime();
}
public static void logOut(){
setCustomerLoggedIn(false);
clearCustomerToken();
clearCustomerInfo();
}
public static void saveSelectedCoupon(CouponModel couponModel){
if(couponModel instanceof PersonalCouponModel){
PersonalCouponModel personalCouponModel = (PersonalCouponModel) couponModel;
SessionHelper.clearSelectedCoupon();
SharedPrefsHelper.saveSelectedPersonalCoupon(personalCouponModel);
}
else if(couponModel instanceof GeneralCouponModel){
GeneralCouponModel generalCouponModel = (GeneralCouponModel) couponModel;
SessionHelper.clearSelectedCoupon();
SharedPrefsHelper.saveSelectedGeneralCoupon(generalCouponModel);
}
}
public static CouponModel getSelectedCoupon(){
if(SharedPrefsHelper.getSelectedPersonalCoupon() != null){
return SharedPrefsHelper.getSelectedPersonalCoupon();
}
else {
return SharedPrefsHelper.getSelectedGeneralCoupon();
}
}
public static void clearSelectedCoupon(){
SharedPrefsHelper.clearSelectedGeneralCoupon();
SharedPrefsHelper.clearSelectedPersonalCoupon();
}
public static void addCouponCodeToRequestParamsIfNeeded(HashMap<String, Object> params){
CouponModel selectedCoupon = SessionHelper.getSelectedCoupon();
if(SessionHelper.getSelectedCoupon() != null){
if(selectedCoupon.getCouponType() == CouponType.PERSONAL){
params.put("voucher", SessionHelper.getSelectedCoupon().getCode());
}
else if(selectedCoupon.getCouponType() == CouponType.GENERAL){
params.put("coupon", SessionHelper.getSelectedCoupon().getCode());
}
}
}
public static String getSessionId(){
return SharedPrefsHelper.getSessionId();
}
public static void saveSessionId(String sessionId){
SharedPrefsHelper.saveSessionId(sessionId);
}
public static Calendar getTokenDeathDate(String tokenDeathTime){
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = null;
try {
Date date = formatter.parse(tokenDeathTime);
calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar;
} catch (ParseException e) {
e.printStackTrace();
return calendar;
}
}
}