Commit 53a73c15 authored by Muhammad Suryono's avatar Muhammad Suryono

Update data cart

parent de66a03d
......@@ -59,7 +59,7 @@ public class FormProductActivity extends AppCompatActivity {
getSupportActionBar().setTitle("Add Product");
toolbars.setNavigationOnClickListener(view -> onBackPressed());
binding.cvProduct.setOnClickListener(view -> takePhoto());
binding.cvProduct.setOnClickListener(view -> openFile());
binding.btnAdd.setOnClickListener(view -> saveProduct());
......@@ -114,18 +114,18 @@ public class FormProductActivity extends AppCompatActivity {
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// if (requestCode == 100 && resultCode == RESULT_OK && data != null) {
// Uri selectedImage = data.getData();
//
// Log.d("Get filepath photo", "" + getRealPathFromURI(selectedImage));
// binding.setPhoto(getRealPathFromURI(selectedImage));
// }
if (requestCode == 100 && resultCode == RESULT_OK && data != null) {
Uri selectedImage = data.getData();
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Log.d("Get filepath photo", "" + file.getName());
binding.setPhoto(file.getAbsolutePath());
productModels.setImageProduct(file.getName());
Log.d("Get filepath photo", "" + getRealPathFromURI(selectedImage));
binding.setPhoto(getRealPathFromURI(selectedImage));
}
// if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
// Log.d("Get filepath photo", "" + file.getName());
// binding.setPhoto(file.getAbsolutePath());
// productModels.setImageProduct(file.getName());
// }
}
@Override
......
......@@ -14,6 +14,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.databinding.DataBindingUtil;
......@@ -44,6 +45,8 @@ import com.yono.messeripos.response.DataResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collector;
import java.util.stream.Collectors;
public class MainActivity extends AppCompatActivity {
MaterialToolbar toolbar;
......@@ -134,6 +137,53 @@ public class MainActivity extends AppCompatActivity {
Log.d("Get data from products", "Response " + js);
}
});
productAdapter.setListener(new ProductAdapter.ProductListener() {
@Override
public void onUpdate(ProductModels product) {
}
@Override
public void onDelete(ProductModels product) {
}
@Override
public void onAddCart(ProductModels product) {
mainViewModelsCart.getCartById(product.getIdProduct()).observe(MainActivity.this, new Observer<List<ProductCartModels>>() {
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void onChanged(List<ProductCartModels> productCartModels) {
String s = new Gson().toJson(productCartModels);
if (productCartModels.isEmpty()){
mainViewModelsCart.insertCart(new ProductCartModels(
1233,
1,
product.getIdProduct(),
product.getProductName(),
product.getPriceProduct(),
0
));
Log.i("Add data cart", "onChanged: Berhasil ditambahkan");
}else{
// ProductCartModels productCartModels2 = (ProductCartModels) productCartModels.stream().map(productCartModels1 -> {
// productCartModels1.setQuantity_orders(productCartModels1.getQuantity_orders()+1);
// return productCartModels1;
// });
productCartModels.stream().map(productCartModels1 -> {
Log.d("click cart", "onChanged: "+s);
productCartModels1.setQuantity_orders(productCartModels1.getQuantity_orders()+1);
// mainViewModelsCart.updateCart(productCartModels1);
return productCartModels1;
}).collect(Collectors.toList());
}
}
});
}
});
}
@Override
......
......@@ -38,20 +38,22 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo
Context context;
MainViewModelsCart mainViewModelsCart;
public interface CartListener {
void onUpdate(ProductCartModels product);
public interface ProductListener {
void onUpdate(ProductModels product);
void onDelete(ProductCartModels product);
void onDelete(ProductModels product);
void onAddCart(ProductModels product);
}
private CartListener listener;
private ProductListener listener;
public void setListener(CartListener listener) {
public void setListener(ProductListener listener) {
this.listener = listener;
}
public void setProduct(Context context, ArrayList<ProductModels> productModels){
public void setProduct(Context context, ArrayList<ProductModels> productModels) {
this.productModels = productModels;
this.context = context;
mainViewModelsCart = ViewModelProviders.of((FragmentActivity) context).get(MainViewModelsCart.class);
......@@ -107,35 +109,22 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo
binding.setPrice(rupiah.format(products.getPriceProduct()));
binding.setImage(products.getImageProduct());
if (!MainActivity.status_update){
if (!MainActivity.status_update) {
binding.btnDelete.setVisibility(View.GONE);
binding.btnEdit.setVisibility(View.GONE);
}
if (products.getStockProduct() == 0){
if (products.getStockProduct() == 0) {
statusProduct = "Not Available";
binding.status.setBackgroundColor(0x55FF0000);
binding.setStatus(statusProduct);
}else{
} else {
statusProduct = "Available";
binding.status.setBackgroundColor(0xFF12FF45);
binding.setStatus(statusProduct);
}
binding.materialBtnAddCart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(context, binding.titleProduct.getText() + " adding to cart", Toast.LENGTH_LONG).show();
mainViewModelsCart.insertCart(new ProductCartModels(
2,
1,
products.getIdProduct(),
products.getProductName(),
products.getPriceProduct(),
0
));
}
});
binding.materialBtnAddCart.setOnClickListener(view -> listener.onAddCart(products));
}
}
}
......@@ -18,7 +18,7 @@ public interface CartDaos {
@Query("SELECT * FROM carts ORDER BY id DESC")
public LiveData<List<ProductCartModels>> getCart();
@Query("SELECT * FROM carts WHERE id = :idCart")
@Query("SELECT * FROM carts WHERE id_product_orders = :idCart")
public LiveData<List<ProductCartModels>> getCartById(long idCart);
......
......@@ -42,6 +42,10 @@ public class MainViewModelsCart extends AndroidViewModel {
public void deleteCart(ProductCartModels productCartModels){cartRepositories.delete(productCartModels);}
public LiveData<List<ProductCartModels>> getCartById(long id){
return cartRepositories.getDataById(id);
}
public MutableLiveData<ProductCartModels> getCart(){
// String js = new Gson().toJson(cartRepositories.getDataCart());
// Log.d("Get data cart", "Response "+js);
......
......@@ -35,6 +35,10 @@ public class CartRepositories {
LocalDatabase.databaseWriterExecutor.execute(() -> cartDaos.deleteProduct(productCartModels));
}
public LiveData<List<ProductCartModels>> getDataById(long id){
return cartDaos.getCartById(id);
}
public LiveData<List<ProductCartModels>> getDataCart(){
return products;
}
......
......@@ -78,7 +78,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:fontFamily="@font/roboto"
android:text="1"
android:text="@{carts.quantity_orders+``}"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="@id/cross"
app:layout_constraintStart_toEndOf="@id/cross" />
......
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