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