Commit ef3d72f2 authored by Wahyu Wibowo's avatar Wahyu Wibowo
parents e5a3f301 f7507423
...@@ -20,6 +20,11 @@ ...@@ -20,6 +20,11 @@
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme2"> android:theme="@style/AppTheme2">
<receiver android:name=".activities.InetChecker">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
<activity android:name=".activities.OrderActivity" /> <activity android:name=".activities.OrderActivity" />
<activity <activity
android:name=".activities.SkActivity" android:name=".activities.SkActivity"
......
...@@ -13,12 +13,15 @@ import android.widget.Toast; ...@@ -13,12 +13,15 @@ import android.widget.Toast;
import com.example.yourcashiertest.R; import com.example.yourcashiertest.R;
import com.example.yourcashiertest.adapters.CartAdapter; import com.example.yourcashiertest.adapters.CartAdapter;
import com.example.yourcashiertest.databases.DBHelper;
import com.example.yourcashiertest.databinding.ActivityCartBinding; import com.example.yourcashiertest.databinding.ActivityCartBinding;
import com.example.yourcashiertest.databinding.CartItemBinding;
import com.example.yourcashiertest.entities.Cart; import com.example.yourcashiertest.entities.Cart;
import com.example.yourcashiertest.entities.Product; import com.example.yourcashiertest.entities.Product;
import com.example.yourcashiertest.entities.Transaksi; import com.example.yourcashiertest.entities.Transaksi;
import com.example.yourcashiertest.utils.Convert; import com.example.yourcashiertest.utils.Convert;
import com.example.yourcashiertest.viewmodels.CartViewModel; import com.example.yourcashiertest.viewmodels.CartViewModel;
import com.example.yourcashiertest.viewmodels.ProductViewModel;
import com.example.yourcashiertest.viewmodels.TransaksiViewModel; import com.example.yourcashiertest.viewmodels.TransaksiViewModel;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -28,9 +31,11 @@ import java.util.List; ...@@ -28,9 +31,11 @@ import java.util.List;
public class CartActivity extends AppCompatActivity { public class CartActivity extends AppCompatActivity {
ActivityCartBinding binding; ActivityCartBinding binding;
CartAdapter adapter; CartAdapter adapter;
public static boolean enable = true;
private static int SUM = 0; private static int SUM = 0;
public static String PRICE = "price"; public static String PRICE = "price";
Product product; Product product;
ProductViewModel productViewModel;
TransaksiViewModel transaksiViewModel; TransaksiViewModel transaksiViewModel;
CartViewModel cartViewModel; CartViewModel cartViewModel;
...@@ -72,29 +77,33 @@ public class CartActivity extends AppCompatActivity { ...@@ -72,29 +77,33 @@ public class CartActivity extends AppCompatActivity {
}); });
adapter.setCartListener(new CartAdapter.CartListener() { adapter.setCartListener(new CartAdapter.CartListener() {
@Override @Override
public void onIncrease(Cart cart) { public void onIncrease(Cart cart) {
Log.d("stock1", ""+product.getQuantity()); Product dbProduct = DBHelper.getProductById(getApplicationContext(), (int) cart.getIdProduct());
Log.d("qty1", ""+cart.getQty());
if(product.getQuantity() > cart.getQty()){
Log.d("stock2", ""+product.getQuantity());
Log.d("qty2", ""+cart.getQty());
cart.setQty(cart.getQty() + 1); cart.setQty(cart.getQty() + 1);
cart.setPrice(cart.getRealPrice() * cart.getQty()); cart.setPrice(cart.getRealPrice() * cart.getQty());
cartViewModel.updateCart(cart); cartViewModel.updateCart(cart);
}else{ if(cart.getQty() == dbProduct.getQuantity()){
enable = false;
Toast.makeText(getApplicationContext(),"Product stock is not enough", Toast.LENGTH_LONG).show(); Toast.makeText(getApplicationContext(),"Product stock is not enough", Toast.LENGTH_LONG).show();
} }
} }
@Override @Override
public void onDecrease(Cart cart) { public void onDecrease(Cart cart) {
Product dbProduct = DBHelper.getProductById(getApplicationContext(), (int) cart.getIdProduct());
cart.setQty(cart.getQty() - 1); cart.setQty(cart.getQty() - 1);
cart.setPrice(cart.getRealPrice() * cart.getQty()); cart.setPrice(cart.getRealPrice() * cart.getQty());
cartViewModel.updateCart(cart); cartViewModel.updateCart(cart);
if(cart.getQty() < dbProduct.getQuantity()){
enable = true;
}
if (cart.getQty() < 1){ if (cart.getQty() < 1){
cartViewModel.deleteCart(cart); cartViewModel.deleteCart(cart);
} }
Log.d("stock2", ""+dbProduct.getQuantity());
Log.d("qty2", ""+ cart.getQty());
} }
}); });
......
package com.example.yourcashiertest.activities;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;
public class InetChecker{
public boolean isNetworkConnected(Context context) {
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected();
}
}
...@@ -4,6 +4,7 @@ import androidx.appcompat.app.AppCompatActivity; ...@@ -4,6 +4,7 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelProvider;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
...@@ -30,6 +31,7 @@ public class LoginActivity extends AppCompatActivity { ...@@ -30,6 +31,7 @@ public class LoginActivity extends AppCompatActivity {
ActivityLoginBinding binding; ActivityLoginBinding binding;
private PrefManager prefManager; private PrefManager prefManager;
UserViewModel viewModel; UserViewModel viewModel;
InetChecker network = new InetChecker();
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
...@@ -47,9 +49,14 @@ public class LoginActivity extends AppCompatActivity { ...@@ -47,9 +49,14 @@ public class LoginActivity extends AppCompatActivity {
if (binding.etUsername.getText().toString().length() == 0 || binding.etPassword.getText().toString().length() == 0) { if (binding.etUsername.getText().toString().length() == 0 || binding.etPassword.getText().toString().length() == 0) {
Toast.makeText(getApplicationContext(), "Please input Username and Password", Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), "Please input Username and Password", Toast.LENGTH_SHORT).show();
} else { } else {
Log.d("network", ""+network.isNetworkConnected(getApplicationContext()));
if(!network.isNetworkConnected(getApplicationContext())) {
Toast.makeText(getApplicationContext(), "Please connect your device to Internet!", Toast.LENGTH_SHORT).show();
}else{
binding.setLoading(true); binding.setLoading(true);
launchMain(); launchMain();
} }
}
}); });
} }
......
...@@ -8,6 +8,7 @@ import androidx.databinding.DataBindingUtil; ...@@ -8,6 +8,7 @@ import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.example.yourcashiertest.R; import com.example.yourcashiertest.R;
import com.example.yourcashiertest.activities.CartActivity;
import com.example.yourcashiertest.databinding.CartItemBinding; import com.example.yourcashiertest.databinding.CartItemBinding;
import com.example.yourcashiertest.entities.Cart; import com.example.yourcashiertest.entities.Cart;
...@@ -81,9 +82,9 @@ public class CartAdapter extends RecyclerView.Adapter<CartAdapter.ViewHolder> { ...@@ -81,9 +82,9 @@ public class CartAdapter extends RecyclerView.Adapter<CartAdapter.ViewHolder> {
rupiah.setDecimalFormatSymbols(format); rupiah.setDecimalFormatSymbols(format);
cartItemBinding.setPrice(rupiah.format(cart.getPrice())); cartItemBinding.setPrice(rupiah.format(cart.getPrice()));
cartItemBinding.btnAdd.setEnabled(CartActivity.enable);
cartItemBinding.btnAdd.setOnClickListener(view -> listener.onIncrease(cart)); cartItemBinding.btnAdd.setOnClickListener(view -> listener.onIncrease(cart));
cartItemBinding.btnMin.setOnClickListener(view -> listener.onDecrease(cart)); cartItemBinding.btnMin.setOnClickListener(view -> listener.onDecrease(cart));
} }
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment