Commit 6b3d48e0 authored by Wahyu Wibowo's avatar Wahyu Wibowo

new updated

parent fa060dba
......@@ -15,8 +15,10 @@ import com.example.yourcashiertest.adapters.CartAdapter;
import com.example.yourcashiertest.databinding.ActivityCartBinding;
import com.example.yourcashiertest.entities.Cart;
import com.example.yourcashiertest.entities.Product;
import com.example.yourcashiertest.entities.Transaksi;
import com.example.yourcashiertest.utils.Convert;
import com.example.yourcashiertest.viewmodels.CartViewModel;
import com.example.yourcashiertest.viewmodels.TransaksiViewModel;
public class CartActivity extends AppCompatActivity {
......@@ -25,6 +27,7 @@ public class CartActivity extends AppCompatActivity {
private static int SUM = 0;
public static String PRICE = "price";
Product product;
TransaksiViewModel transaksiViewModel;
@SuppressLint("SetTextI18n")
@Override
......@@ -38,6 +41,8 @@ public class CartActivity extends AppCompatActivity {
product = new Product();
transaksiViewModel = new ViewModelProvider(this).get(TransaksiViewModel.class);
CartViewModel cartViewModel = new ViewModelProvider(this).get(CartViewModel.class);
cartViewModel.getCarts().observe(this, carts -> adapter.setCartList(carts));
......@@ -79,6 +84,19 @@ public class CartActivity extends AppCompatActivity {
startActivity(new Intent(CartActivity.this, PaymentActivity.class).putExtra(PRICE, SUM));
finish();
});
binding.saveOrder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
saveTransaction(SUM);
}
});
}
private void saveTransaction(int amount) {
Transaksi transaksi = new Transaksi(0, "");
transaksi.setAmount(amount);
transaksi.setStatus("Pending");
transaksiViewModel.insertTransaksi(transaksi);
}
@Override
......
......@@ -31,17 +31,17 @@ public class OrderActivity extends AppCompatActivity {
binding.rvListOrder.setLayoutManager(new LinearLayoutManager(this));
binding.rvListOrder.setAdapter(adapter);
viewModel.getList().observe(this, transaksi -> adapter.setTransaksiList(transaksi));
adapter.setListener(new OrderAdapter.TransaksiListener() {
@Override
public void onCancel(Transaksi transaksi) {
}
@Override
public void onContinue(Transaksi transaksi) {
}
});
// adapter.setListener(new OrderAdapter.TransaksiListener() {
// @Override
// public void onCancel(Transaksi transaksi) {
//
// }
//
// @Override
// public void onContinue(Transaksi transaksi) {
//
// }
// });
}
}
\ No newline at end of file
......@@ -19,11 +19,13 @@ import com.example.yourcashiertest.databases.DBHelper;
import com.example.yourcashiertest.databinding.ActivityPaymentBinding;
import com.example.yourcashiertest.entities.Cart;
import com.example.yourcashiertest.entities.Product;
import com.example.yourcashiertest.entities.Transaksi;
import com.example.yourcashiertest.models.ResponsePayment;
import com.example.yourcashiertest.utils.Convert;
import com.example.yourcashiertest.utils.ViewUtil;
import com.example.yourcashiertest.viewmodels.CartViewModel;
import com.example.yourcashiertest.viewmodels.ProductViewModel;
import com.example.yourcashiertest.viewmodels.TransaksiViewModel;
import java.util.ArrayList;
import java.util.List;
......@@ -37,6 +39,7 @@ public class PaymentActivity extends AppCompatActivity {
public int amount;
CartViewModel cartViewModel;
ProductViewModel viewModel;
TransaksiViewModel payViewModel;
public static final String PAY_WITH = "pay_with";
private ArrayList<ResponsePayment> responsePayments = new ArrayList<>();
......@@ -47,6 +50,7 @@ public class PaymentActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
binding = DataBindingUtil.setContentView(this, R.layout.activity_payment);
payViewModel = new ViewModelProvider(this).get(TransaksiViewModel.class);
cartViewModel = new ViewModelProvider(this).get(CartViewModel.class);
viewModel = new ViewModelProvider(this).get(ProductViewModel.class);
amount = getIntent().getIntExtra(CartActivity.PRICE, 0);
......@@ -86,6 +90,14 @@ public class PaymentActivity extends AppCompatActivity {
List<Product> products = DBHelper.getAllProduct(getApplicationContext());
List<Cart> carts = DBHelper.getAllCart(getApplicationContext());
// just checking data
List<Transaksi> list = DBHelper.getAllTransaksi(getApplicationContext());
for (int i = 0; i < list.size(); i++){
Log.d("transaction", String.valueOf(list.get(i).getOrderId()));
}
createTransaksi(amount);
for (int c = 0; c < carts.size(); c++){
for (int p = 0; p < products.size(); p++){
if (carts.get(c).getIdProduct() == products.get(p).getId()){
......@@ -99,6 +111,13 @@ public class PaymentActivity extends AppCompatActivity {
}
}
private void createTransaksi(int amount) {
Transaksi transaksi = new Transaksi(0, "");
transaksi.setAmount(amount);
transaksi.setStatus("Success");
payViewModel.insertTransaksi(transaksi);
}
@Override
protected void onDestroy() {
super.onDestroy();
......
......@@ -12,7 +12,6 @@ import com.example.yourcashiertest.R;
import com.example.yourcashiertest.databinding.ItemOrderBinding;
import com.example.yourcashiertest.entities.Transaksi;
import com.example.yourcashiertest.utils.Convert;
import com.example.yourcashiertest.utils.ViewUtil;
import java.util.ArrayList;
import java.util.List;
......@@ -56,7 +55,9 @@ public class OrderAdapter extends RecyclerView.Adapter<OrderAdapter.ViewHolder>
@Override
public int getItemCount() {
if (transaksiList.size() != 0){
return transaksiList.size();
}else return 0;
}
public class ViewHolder extends RecyclerView.ViewHolder {
......
......@@ -14,15 +14,19 @@ import java.util.List;
@Dao
public interface TransaksiDao {
@Query("SELECT * FROM Transaksi")
public LiveData<List<Transaksi>> getAll();
List<Transaksi> getTransaksi();
@Query("SELECT * FROM Transaksi ORDER BY orderId DESC")
LiveData<List<Transaksi>> getAll();
@Insert(onConflict = OnConflictStrategy.IGNORE)
public void insertTransaksi(Transaksi transaksi);
void insertTransaksi(Transaksi transaksi);
@Update
public void updateTransaksi(Transaksi transaksi);
void updateTransaksi(Transaksi transaksi);
@Delete
public void deleteTransaksi(Transaksi transaksi);
void deleteTransaksi(Transaksi transaksi);
}
......@@ -2,8 +2,12 @@ package com.example.yourcashiertest.databases;
import android.content.Context;
import androidx.lifecycle.LiveData;
import com.example.yourcashiertest.entities.Cart;
import com.example.yourcashiertest.entities.Product;
import com.example.yourcashiertest.entities.Transaksi;
import com.example.yourcashiertest.utils.Convert;
import java.util.List;
......@@ -21,4 +25,11 @@ public class DBHelper {
list = db.cartDao().getAllCarts();
return list;
}
public static List<Transaksi> getAllTransaksi(Context context){
List<Transaksi> list;
LocalDatabase db = LocalDatabase.getDatabase(context);
list = db.transaksiDao().getTransaksi();
return list;
}
}
......@@ -5,9 +5,8 @@ import android.os.Parcelable;
import android.text.TextUtils;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.databinding.BindingAdapter;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;
......
......@@ -29,8 +29,7 @@ public class Transaksi implements Parcelable {
status = in.readString();
}
public Transaksi(long orderId, long amount, String status){
this.orderId = orderId;
public Transaksi(long amount, String status){
this.amount = amount;
this.status = status;
}
......
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