Commit 47e30e7c authored by Alfansyah Fadlian's avatar Alfansyah Fadlian

Merge branch 'dev' of https://git.mdd.co.id:44195/muhammadsuryono/meser into dashboard

parents 80c1f7f6 a0cdffa2
<component name="ProjectCodeStyleConfiguration"> <component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173"> <code_scheme name="Project" version="173">
<DBN-PSQL>
<case-options enabled="true">
<option name="KEYWORD_CASE" value="lower" />
<option name="FUNCTION_CASE" value="lower" />
<option name="PARAMETER_CASE" value="lower" />
<option name="DATATYPE_CASE" value="lower" />
<option name="OBJECT_CASE" value="preserve" />
</case-options>
<formatting-settings enabled="false" />
</DBN-PSQL>
<DBN-SQL>
<case-options enabled="true">
<option name="KEYWORD_CASE" value="lower" />
<option name="FUNCTION_CASE" value="lower" />
<option name="PARAMETER_CASE" value="lower" />
<option name="DATATYPE_CASE" value="lower" />
<option name="OBJECT_CASE" value="preserve" />
</case-options>
<formatting-settings enabled="false">
<option name="STATEMENT_SPACING" value="one_line" />
<option name="CLAUSE_CHOP_DOWN" value="chop_down_if_statement_long" />
<option name="ITERATION_ELEMENTS_WRAPPING" value="chop_down_if_not_single" />
</formatting-settings>
</DBN-SQL>
<DBN-PSQL> <DBN-PSQL>
<case-options enabled="true"> <case-options enabled="true">
<option name="KEYWORD_CASE" value="lower" /> <option name="KEYWORD_CASE" value="lower" />
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">
......
package com.yono.messeripos; package com.yono.messeripos;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.os.Bundle; import android.os.Bundle;
...@@ -43,6 +44,7 @@ public class BottomSheets extends BottomSheetDialogFragment { ...@@ -43,6 +44,7 @@ public class BottomSheets extends BottomSheetDialogFragment {
String defaultText = "0"; String defaultText = "0";
Client client = new Client(); Client client = new Client();
public static long grossAmount; public static long grossAmount;
SharedPreferences sharedPreferences;
PaymentsModels paymentsModels; PaymentsModels paymentsModels;
public BottomSheets(PaymentsModels paymentsModels) { public BottomSheets(PaymentsModels paymentsModels) {
...@@ -71,6 +73,7 @@ public class BottomSheets extends BottomSheetDialogFragment { ...@@ -71,6 +73,7 @@ public class BottomSheets extends BottomSheetDialogFragment {
btnCash = v.findViewById(R.id.btnCash); btnCash = v.findViewById(R.id.btnCash);
totalHarga = v.findViewById(R.id.totalHarga); totalHarga = v.findViewById(R.id.totalHarga);
utils = new Utils(); utils = new Utils();
// sharedPreferences = getActivity().getSharedPreferences(MainActivity.ORDER_ID, Context.MODE_PRIVATE);
long ga = paymentsModels.getGrossAmount(); long ga = paymentsModels.getGrossAmount();
String setCurrency = utils.convertPrice("Rp.", ga); String setCurrency = utils.convertPrice("Rp.", ga);
......
...@@ -12,6 +12,8 @@ import android.util.Log; ...@@ -12,6 +12,8 @@ import android.util.Log;
import android.view.View; import android.view.View;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button; import android.widget.Button;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.Toast; import android.widget.Toast;
...@@ -72,7 +74,6 @@ public class CartActivity extends AppCompatActivity { ...@@ -72,7 +74,6 @@ public class CartActivity extends AppCompatActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cart); setContentView(R.layout.activity_cart);
grandToral = findViewById(R.id.tvHarga);
btnSaveCart = findViewById(R.id.btSave); btnSaveCart = findViewById(R.id.btSave);
cartEmptyImage = findViewById(R.id.cartEmpty); cartEmptyImage = findViewById(R.id.cartEmpty);
cartEmptyText = findViewById(R.id.cartEmptyText); cartEmptyText = findViewById(R.id.cartEmptyText);
...@@ -94,17 +95,17 @@ public class CartActivity extends AppCompatActivity { ...@@ -94,17 +95,17 @@ public class CartActivity extends AppCompatActivity {
Window w = getWindow(); Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
sharedPreferences = getSharedPreferences(SplashScreen.MY_SHARED_PREFERENCES, Context.MODE_PRIVATE); sharedPreferences = getSharedPreferences(MainActivity.MY_SHARED_PREFERENCES, Context.MODE_PRIVATE);
Log.i("Id Order on acart", "onCreate: "+orderId); // Log.i("Id Order on acart", "onCreate: "+orderId);
if (orderId.isEmpty()){ // if (orderId.isEmpty()){
SharedPreferences.Editor editor = sharedPreferences.edit(); // SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(ORDER_ID, "MES-ORDER"+orderId); // editor.putString(ORDER_ID, "MES-ORDER"+orderId);
//
if (editor.commit()){ // if (editor.commit()){
Toast.makeText(CartActivity.this, orderId, Toast.LENGTH_LONG).show(); // Toast.makeText(CartActivity.this, orderId, Toast.LENGTH_LONG).show();
} // }
} // }
// Toolbars // Toolbars
MaterialToolbar toolbars = findViewById(R.id.cAppBar); MaterialToolbar toolbars = findViewById(R.id.cAppBar);
...@@ -142,10 +143,6 @@ public class CartActivity extends AppCompatActivity { ...@@ -142,10 +143,6 @@ public class CartActivity extends AppCompatActivity {
}); });
// grandToral.setText(utils.convertPrice("Rp. ", utils.grandTotal));
cartAdapter.setListener(new CartAdapter.CartListener() { cartAdapter.setListener(new CartAdapter.CartListener() {
@Override @Override
public void onDelete(ProductCartModels productCartModels) { public void onDelete(ProductCartModels productCartModels) {
...@@ -233,7 +230,7 @@ public class CartActivity extends AppCompatActivity { ...@@ -233,7 +230,7 @@ public class CartActivity extends AppCompatActivity {
}else{ }else{
new AlertDialog.Builder(CartActivity.this) new AlertDialog.Builder(CartActivity.this)
.setCancelable(false) .setCancelable(false)
.setTitle("Save nwe Order") .setTitle("Save new Order")
.setMessage("Erorr save!").show(); .setMessage("Erorr save!").show();
} }
} }
...@@ -242,7 +239,7 @@ public class CartActivity extends AppCompatActivity { ...@@ -242,7 +239,7 @@ public class CartActivity extends AppCompatActivity {
public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) { public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) {
new AlertDialog.Builder(CartActivity.this) new AlertDialog.Builder(CartActivity.this)
.setCancelable(false) .setCancelable(false)
.setTitle("Save nwe Order") .setTitle("Save new Order")
.setMessage("Add new order failed, try again!").show(); .setMessage("Add new order failed, try again!").show();
} }
}); });
...@@ -250,4 +247,14 @@ public class CartActivity extends AppCompatActivity { ...@@ -250,4 +247,14 @@ public class CartActivity extends AppCompatActivity {
} }
}); });
} }
@Override
public void onBackPressed() {
if (sharedPreferences.getString(ORDER_ID, "") == null){
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(ORDER_ID, "MES-ORDER"+utils.timeStamp());
editor.commit();
}
super.onBackPressed();
}
} }
\ No newline at end of file
...@@ -71,6 +71,7 @@ public class FormProductActivity extends AppCompatActivity { ...@@ -71,6 +71,7 @@ public class FormProductActivity extends AppCompatActivity {
private Utils utils = new Utils(); private Utils utils = new Utils();
ProgressDialog progressDialog; ProgressDialog progressDialog;
Client client = new Client(); Client client = new Client();
ProductModels productModelsIntent;
@Override @Override
public void onCreate(@Nullable Bundle savedInstanceState) { public void onCreate(@Nullable Bundle savedInstanceState) {
...@@ -90,7 +91,7 @@ public class FormProductActivity extends AppCompatActivity { ...@@ -90,7 +91,7 @@ public class FormProductActivity extends AppCompatActivity {
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
} }
ProductModels productModelsIntent = getIntent().getParcelableExtra(MainActivity.DATA_PRODUCT); productModelsIntent = getIntent().getParcelableExtra(MainActivity.DATA_PRODUCT);
MaterialToolbar toolbars = findViewById(R.id.topAppBarForm); MaterialToolbar toolbars = findViewById(R.id.topAppBarForm);
...@@ -110,6 +111,10 @@ public class FormProductActivity extends AppCompatActivity { ...@@ -110,6 +111,10 @@ public class FormProductActivity extends AppCompatActivity {
productModels.setPriceProduct(productModelsIntent.getPriceProduct()); productModels.setPriceProduct(productModelsIntent.getPriceProduct());
productModels.setStockProduct(productModelsIntent.getStockProduct()); productModels.setStockProduct(productModelsIntent.getStockProduct());
productModels.setImageProduct(productModelsIntent.getImageProduct()); productModels.setImageProduct(productModelsIntent.getImageProduct());
binding.setProductForm(productModelsIntent);
binding.setPhoto(productModelsIntent.getImageProduct());
binding.btnAdd.setText("UPDATE PRODUCT"); binding.btnAdd.setText("UPDATE PRODUCT");
}else{ }else{
productModelsIntent = new ProductModels("",0,0, utils.convertImageBase64Resource(getResources(), R.drawable.logo_32)); productModelsIntent = new ProductModels("",0,0, utils.convertImageBase64Resource(getResources(), R.drawable.logo_32));
...@@ -169,52 +174,97 @@ public class FormProductActivity extends AppCompatActivity { ...@@ -169,52 +174,97 @@ public class FormProductActivity extends AppCompatActivity {
productModels.setStockProduct(Integer.parseInt(binding.etStock.getText().toString())); productModels.setStockProduct(Integer.parseInt(binding.etStock.getText().toString()));
productModels.setCategoryProduct(binding.listCategory.getSelectedIndex()); productModels.setCategoryProduct(binding.listCategory.getSelectedIndex());
Log.i("save_path", "saveProduct: "+locationPath);
if (locationPath != null){
File fileImage = new File(locationPath);
Log.i("save", "saveProduct: "+locationPath);
if (fileImage.exists()){
if (
!productModels.getProductName().isEmpty() ||
productModels.getPriceProduct() != 0 ||
productModels.getStockProduct() != 0
){
progressDialog.setCancelable(false);
progressDialog.show();
ProductService productService = client.Client(ProductService.class);
Log.i("data_post", "saveProduct: "+utils.convertGson(productModels));
productService.postProduct(productModels).enqueue(new Callback<DataResponse<ProductModels>>() {
@Override
public void onResponse(Call<DataResponse<ProductModels>> call, Response<DataResponse<ProductModels>> response) {
Log.i("Success Post", "onResponse: "+utils.convertGson(response.body()));
if (response.body() != null){
new AlertDialog.Builder(FormProductActivity.this)
.setCancelable(false)
.setTitle("Add New Product")
.setMessage("Add new product success")
.setPositiveButton("Oke", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
startActivity(new Intent(FormProductActivity.this, MainActivity.class));
finish();
}
}).show();
}else{
new AlertDialog.Builder(FormProductActivity.this)
.setTitle("Add New Product")
.setMessage("Add new product failed, try again!").show();
}
progressDialog.dismiss();
}
@Override if (isUpdate){
public void onFailure(Call<DataResponse<ProductModels>> call, Throwable t) { Log.i("update_path", "saveProduct: "+locationPath);
progressDialog.dismiss(); if (
Log.e("Error input", "onFailure: ",t ); !productModels.getProductName().isEmpty() ||
productModels.getPriceProduct() != 0 ||
productModels.getStockProduct() != 0
){
progressDialog.setCancelable(false);
progressDialog.show();
ProductService productService = client.Client(ProductService.class);
Log.i("data_post", "saveProduct: "+utils.convertGson(productModels));
productService.updateProduct(productModels, productModelsIntent.getIdProduct()).enqueue(new Callback<DataResponse<ProductModels>>() {
@Override
public void onResponse(Call<DataResponse<ProductModels>> call, Response<DataResponse<ProductModels>> response) {
Log.i("Success Post", "onResponse: "+utils.convertGson(response.body()));
if (response.body() != null){
new AlertDialog.Builder(FormProductActivity.this)
.setCancelable(false)
.setTitle("Update Product")
.setMessage("Update product success")
.setPositiveButton("Oke", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
startActivity(new Intent(FormProductActivity.this, MainActivity.class));
finish();
}
}).show();
}else{
new AlertDialog.Builder(FormProductActivity.this)
.setTitle("Update Product")
.setMessage("Update product failed, try again!").show();
} }
}); progressDialog.dismiss();
} }
@Override
public void onFailure(Call<DataResponse<ProductModels>> call, Throwable t) {
progressDialog.dismiss();
Log.e("Error input", "onFailure: ",t );
}
});
}
}else {
Log.i("save_path", "saveProduct: "+locationPath);
if (locationPath != null){
File fileImage = new File(locationPath);
Log.i("save", "saveProduct: "+locationPath);
if (fileImage.exists()){
if (
!productModels.getProductName().isEmpty() ||
productModels.getPriceProduct() != 0 ||
productModels.getStockProduct() != 0
){
progressDialog.setCancelable(false);
progressDialog.show();
ProductService productService = client.Client(ProductService.class);
Log.i("data_post", "saveProduct: "+utils.convertGson(productModels));
productService.postProduct(productModels).enqueue(new Callback<DataResponse<ProductModels>>() {
@Override
public void onResponse(Call<DataResponse<ProductModels>> call, Response<DataResponse<ProductModels>> response) {
Log.i("Success Post", "onResponse: "+utils.convertGson(response.body()));
if (response.body() != null){
new AlertDialog.Builder(FormProductActivity.this)
.setCancelable(false)
.setTitle("Add New Product")
.setMessage("Add new product success")
.setPositiveButton("Oke", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
startActivity(new Intent(FormProductActivity.this, MainActivity.class));
finish();
}
}).show();
}else{
new AlertDialog.Builder(FormProductActivity.this)
.setTitle("Add New Product")
.setMessage("Add new product failed, try again!").show();
}
progressDialog.dismiss();
}
@Override
public void onFailure(Call<DataResponse<ProductModels>> call, Throwable t) {
progressDialog.dismiss();
Log.e("Error input", "onFailure: ",t );
}
});
}
}
} }
} }
} }
......
...@@ -66,21 +66,11 @@ public class HistoryActivity extends AppCompatActivity { ...@@ -66,21 +66,11 @@ public class HistoryActivity extends AppCompatActivity {
new Observer<DataResponse<List<PaymentsModels>>>() { new Observer<DataResponse<List<PaymentsModels>>>() {
@Override @Override
public void onChanged(DataResponse<List<PaymentsModels>> listDataResponse) { public void onChanged(DataResponse<List<PaymentsModels>> listDataResponse) {
Log.i("Hasil_transaksi", "onChanged: "+utils.convertGson(listDataResponse.getData()));
ArrayList<PaymentsModels> newData = new ArrayList<>(); ArrayList<PaymentsModels> newData = new ArrayList<>();
newData.addAll(listDataResponse.getData()); newData.addAll(listDataResponse.getData());
transactionAdapter.setTransactionAdapter(HistoryActivity.this, newData); transactionAdapter.setTransactionAdapter(HistoryActivity.this, newData);
/*
* SET RECYCLE VIEW MANAGER DISINI
* GUNAKAN LINEARLAYOUT MANAGER VERTICAL UNTUK SETTING LAYOUT MANAGER
*
* SET RECYCLEVIEW ADAPTER DENGAN TRANSACTION ADAPTER
*
* UNTUK BISA CLICK CARD VIEW NYA
* PANGGIL ADAPTERNYA KEMUDIAN .setList.....
* SILAHKAN PINDAH KE ACTIVITY SELANJUTNYA PADA ON.....
* */
loading.setVisibility(View.GONE); loading.setVisibility(View.GONE);
recyclerView.setLayoutManager(new LinearLayoutManager(HistoryActivity.this,RecyclerView.VERTICAL,false)); recyclerView.setLayoutManager(new LinearLayoutManager(HistoryActivity.this,RecyclerView.VERTICAL,false));
......
...@@ -31,6 +31,7 @@ import androidx.recyclerview.widget.GridLayoutManager; ...@@ -31,6 +31,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import com.google.android.material.appbar.MaterialToolbar; import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.snackbar.Snackbar; import com.google.android.material.snackbar.Snackbar;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.yono.messeripos.adapter.CategoryAdapter; import com.yono.messeripos.adapter.CategoryAdapter;
...@@ -72,8 +73,9 @@ public class MainActivity extends AppCompatActivity { ...@@ -72,8 +73,9 @@ public class MainActivity extends AppCompatActivity {
Client client = new Client(); Client client = new Client();
public static ArrayList<ProductModels> productModelsArrayList = new ArrayList<>(); public static ArrayList<ProductModels> productModelsArrayList = new ArrayList<>();
public static final String DATA_PRODUCT = "DATA_PRODUCT"; public static final String DATA_PRODUCT = "DATA_PRODUCT";
public static final String MY_SHARED_PREFERENCES = "my_shared_preferences";
ProgressDialog progressDialog; ProgressDialog progressDialog;
public static Boolean cartOpen; MaterialButton btnAddCart;
@SuppressLint("LongLogTag") @SuppressLint("LongLogTag")
@Override @Override
...@@ -84,13 +86,14 @@ public class MainActivity extends AppCompatActivity { ...@@ -84,13 +86,14 @@ public class MainActivity extends AppCompatActivity {
ProductAdapter adapter = new ProductAdapter(); ProductAdapter adapter = new ProductAdapter();
binding.rvProduct.setAdapter(adapter); binding.rvProduct.setAdapter(adapter);
// binding.appBarUpdate.setVisibility(View.GONE);
showLoading(true); showLoading(true);
btnAddCart = findViewById(R.id.materialBtnAddCart);
categoryAdapter = new CategoryAdapter(); categoryAdapter = new CategoryAdapter();
productAdapter = new ProductAdapter(); productAdapter = new ProductAdapter();
mainViewModelsCart = new ViewModelProvider(MainActivity.this).get(MainViewModelsCart.class); mainViewModelsCart = new ViewModelProvider(MainActivity.this).get(MainViewModelsCart.class);
sharedPreferences = getSharedPreferences(SplashScreen.MY_SHARED_PREFERENCES, Context.MODE_PRIVATE); sharedPreferences = getSharedPreferences(MY_SHARED_PREFERENCES, Context.MODE_PRIVATE);
checkout = sharedPreferences.getBoolean(CHECKOUT,false); checkout = sharedPreferences.getBoolean(CHECKOUT,false);
orderId = sharedPreferences.getString(ORDER_ID,""); orderId = sharedPreferences.getString(ORDER_ID,"");
progressDialog = new ProgressDialog(MainActivity.this); progressDialog = new ProgressDialog(MainActivity.this);
...@@ -105,7 +108,7 @@ public class MainActivity extends AppCompatActivity { ...@@ -105,7 +108,7 @@ public class MainActivity extends AppCompatActivity {
SharedPreferences.Editor editor = sharedPreferences.edit(); SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(ORDER_ID,"MES-ORDER"+utils.timeStamp()); editor.putString(ORDER_ID,"MES-ORDER"+utils.timeStamp());
if (editor.commit()){ if (editor.commit()){
Toast.makeText(MainActivity.this, orderId, Toast.LENGTH_LONG).show(); // Toast.makeText(MainActivity.this, orderId, Toast.LENGTH_LONG).show();
} }
} }
...@@ -223,11 +226,9 @@ public class MainActivity extends AppCompatActivity { ...@@ -223,11 +226,9 @@ public class MainActivity extends AppCompatActivity {
} }
private void mainViewModelsGetProduct() { private void mainViewModelsGetProduct() {
progressDialog.show();
mainViewModels.getProduct().observe(this, new Observer<DataResponse<List<ProductModels<CategoryModels>>>>() { mainViewModels.getProduct().observe(this, new Observer<DataResponse<List<ProductModels<CategoryModels>>>>() {
@Override @Override
public void onChanged(DataResponse<List<ProductModels<CategoryModels>>> listDataResponse) { public void onChanged(DataResponse<List<ProductModels<CategoryModels>>> listDataResponse) {
progressDialog.dismiss();
if (listDataResponse.getData().size() != 0) { if (listDataResponse.getData().size() != 0) {
List<ProductModels<CategoryModels>> productModels = listDataResponse.getData(); List<ProductModels<CategoryModels>> productModels = listDataResponse.getData();
productModelsArrayList.clear(); productModelsArrayList.clear();
...@@ -262,10 +263,12 @@ public class MainActivity extends AppCompatActivity { ...@@ -262,10 +263,12 @@ public class MainActivity extends AppCompatActivity {
@Override @Override
public void onDelete(ProductModels product, int position) { public void onDelete(ProductModels product, int position) {
progressDialog.show();
ProductService productService = client.Client(ProductService.class); ProductService productService = client.Client(ProductService.class);
productService.deleteProducts(product.getIdProduct()).enqueue(new Callback<DataResponse<ProductModels>>() { productService.deleteProducts(product.getIdProduct()).enqueue(new Callback<DataResponse<ProductModels>>() {
@Override @Override
public void onResponse(Call<DataResponse<ProductModels>> call, Response<DataResponse<ProductModels>> response) { public void onResponse(Call<DataResponse<ProductModels>> call, Response<DataResponse<ProductModels>> response) {
progressDialog.dismiss();
productModelsArrayList.remove(position); productModelsArrayList.remove(position);
binding.rvProduct.removeViewAt(position); binding.rvProduct.removeViewAt(position);
productAdapter.notifyItemRemoved(position); productAdapter.notifyItemRemoved(position);
...@@ -413,13 +416,15 @@ public class MainActivity extends AppCompatActivity { ...@@ -413,13 +416,15 @@ public class MainActivity extends AppCompatActivity {
@Override @Override
public boolean onCreateOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.update, menu); getMenuInflater().inflate(R.menu.update, menu);
return true; return true;
} }
@Override @Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) { public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId(); int id = item.getItemId();
if (id == R.id.menu_cart){ if (id == R.id.menu_update){
status_update = false;
startActivity(new Intent(MainActivity.this, MainActivity.class)); startActivity(new Intent(MainActivity.this, MainActivity.class));
finish(); finish();
} }
......
...@@ -77,7 +77,7 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -77,7 +77,7 @@ public class PaymentActivity extends AppCompatActivity {
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
} }
sharedPreferences = getSharedPreferences(SplashScreen.MY_SHARED_PREFERENCES, Context.MODE_PRIVATE); sharedPreferences = getSharedPreferences(MainActivity.MY_SHARED_PREFERENCES, Context.MODE_PRIVATE);
paymentsModels = new PaymentsModels(); paymentsModels = new PaymentsModels();
checkoutAdapter = new CheckoutAdapter(); checkoutAdapter = new CheckoutAdapter();
...@@ -91,7 +91,7 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -91,7 +91,7 @@ public class PaymentActivity extends AppCompatActivity {
setSupportActionBar(toolbars); setSupportActionBar(toolbars);
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL); DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
mainViewModels = new ViewModelProvider(PaymentActivity.this).get(MainViewModelsCart.class); mainViewModels = new ViewModelProvider(PaymentActivity.this).get(MainViewModelsCart.class);
mainViewModels.getCartProduct().observe(this, new Observer<List<ProductCartModels>>() { mainViewModels.getCartById(orderId).observe(this, new Observer<List<ProductCartModels>>() {
@Override @Override
public void onChanged(List<ProductCartModels> productCartModels) { public void onChanged(List<ProductCartModels> productCartModels) {
String js = new Gson().toJson(productCartModels); String js = new Gson().toJson(productCartModels);
......
...@@ -98,9 +98,9 @@ public class CartAdapter extends RecyclerView.Adapter<CartAdapter.MyViewHolder> ...@@ -98,9 +98,9 @@ public class CartAdapter extends RecyclerView.Adapter<CartAdapter.MyViewHolder>
* */ * */
subtotal = cartModels.getPrice_orders() * cartModels.getQuantity_orders(); subtotal = cartModels.getPrice_orders() * cartModels.getQuantity_orders();
utils.grandTotal = utils.grandTotal + (cartModels.getPrice_orders() * cartModels.getQuantity_orders()); Log.d("TAG", "bindData: "+binding.getSubTotal());
utils.grandTotal = (cartModels.getPrice_orders() * cartModels.getQuantity_orders());
Log.i("Grand Total", "bindData: "+utils.grandTotal); Log.i("Grand Total", "bindData: "+utils.grandTotal);
CartActivity.grandToral.setText(utils.convertPrice("Rp. ", utils.grandTotal));
binding.setCarts(cartModels); binding.setCarts(cartModels);
binding.setPrice(utils.convertPrice("Rp. ", cartModels.getPrice_orders())); binding.setPrice(utils.convertPrice("Rp. ", cartModels.getPrice_orders()));
......
...@@ -146,6 +146,12 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo ...@@ -146,6 +146,12 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo
binding.setStatus(statusProduct); binding.setStatus(statusProduct);
} }
if (products.getStockProduct() <= 1){
binding.materialBtnAddCart.setEnabled(false);
}else{
binding.materialBtnAddCart.setEnabled(true);
}
binding.materialBtnAddCart.setOnClickListener(new View.OnClickListener() { binding.materialBtnAddCart.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
......
...@@ -16,6 +16,7 @@ import retrofit2.http.DELETE; ...@@ -16,6 +16,7 @@ import retrofit2.http.DELETE;
import retrofit2.http.GET; import retrofit2.http.GET;
import retrofit2.http.Multipart; import retrofit2.http.Multipart;
import retrofit2.http.POST; import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Part; import retrofit2.http.Part;
import retrofit2.http.Path; import retrofit2.http.Path;
...@@ -30,6 +31,9 @@ public interface ProductService { ...@@ -30,6 +31,9 @@ public interface ProductService {
@POST(ApiHelper.VERSI_API_1+"product") @POST(ApiHelper.VERSI_API_1+"product")
Call<DataResponse<ProductModels>> postProduct(@Body ProductModels productModels); Call<DataResponse<ProductModels>> postProduct(@Body ProductModels productModels);
@PUT(ApiHelper.VERSI_API_1+"product/{id}")
Call<DataResponse<ProductModels>> updateProduct(@Body ProductModels productModels, @Path("id") int id);
@Multipart @Multipart
@POST(ApiHelper.VERSI_API_1+"product") @POST(ApiHelper.VERSI_API_1+"product")
Call<DataResponse<ProductModels>> postProducts( Call<DataResponse<ProductModels>> postProducts(
......
...@@ -30,6 +30,10 @@ public class PaymentsModels { ...@@ -30,6 +30,10 @@ public class PaymentsModels {
@SerializedName("updated_at") @SerializedName("updated_at")
private String updatedAt; private String updatedAt;
@SerializedName("va_number")
private String nomorPembayaran;
public PaymentsModels() { public PaymentsModels() {
} }
...@@ -96,4 +100,13 @@ public class PaymentsModels { ...@@ -96,4 +100,13 @@ public class PaymentsModels {
this.updatedAt = updatedAt; this.updatedAt = updatedAt;
} }
public String getNomorPembayaran() {
return nomorPembayaran;
}
public void setNomorPembayaran(String nomorPembayaran) {
this.nomorPembayaran = nomorPembayaran;
}
} }
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:fromYDelta="0%"
android:toYDelta="100%"
android:duration="@android:integer/config_mediumAnimTime"/>
</set>
\ No newline at end of file
...@@ -16,6 +16,16 @@ ...@@ -16,6 +16,16 @@
android:textFontWeight="600" android:textFontWeight="600"
android:layout_alignParentStart="true" /> android:layout_alignParentStart="true" />
<TextView
android:id="@+id/changeText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Change"
android:textSize="20sp"
android:textFontWeight="600"
android:layout_below="@id/totalText"
android:layout_alignParentStart="true" />
<TextView <TextView
android:id="@+id/totalHarga" android:id="@+id/totalHarga"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -25,13 +35,23 @@ ...@@ -25,13 +35,23 @@
android:textFontWeight="600" android:textFontWeight="600"
android:layout_alignParentEnd="true" /> android:layout_alignParentEnd="true" />
<TextView
android:id="@+id/hargaChange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rp. 600.000"
android:textSize="20sp"
android:textFontWeight="600"
android:layout_below="@id/totalHarga"
android:layout_alignParentEnd="true" />
<TextView <TextView
android:id="@+id/label" android:id="@+id/label"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Bayar" android:text="Bayar"
android:textFontWeight="600" android:textFontWeight="600"
android:layout_below="@id/totalHarga" /> android:layout_below="@id/changeText" />
<EditText <EditText
android:id="@+id/etBayar" android:id="@+id/etBayar"
...@@ -42,29 +62,13 @@ ...@@ -42,29 +62,13 @@
android:inputType="number" android:inputType="number"
android:imeOptions="actionDone"/> android:imeOptions="actionDone"/>
<TextView
android:id="@+id/textChange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Change"
android:layout_below="@id/etBayar"
android:layout_alignParentEnd="true" />
<TextView
android:id="@+id/hargaChange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rp.20.000"
android:layout_below="@id/textChange"
android:layout_alignParentEnd="true"/>
<Button <Button
android:id="@+id/btnCash" android:id="@+id/btnCash"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/hint_pay" android:text="@string/hint_pay"
android:hint="Insert Money" android:hint="Insert Money"
android:layout_below="@id/hargaChange" /> android:layout_below="@id/etBayar" />
</RelativeLayout> </RelativeLayout>
......
...@@ -54,31 +54,6 @@ ...@@ -54,31 +54,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tvCheckout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:fontFamily="@font/roboto"
android:text="Total"
android:textColor="#000"
android:textFontWeight="600"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@+id/btSave"
app:layout_constraintStart_toStartOf="parent" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tvHarga"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rp. 600"
android:textSize="24sp"
android:textColor="#000"
android:textFontWeight="600"
android:layout_marginEnd="15dp"
app:layout_constraintBottom_toTopOf="@id/btCheckout"
app:layout_constraintEnd_toEndOf="parent"/>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btSave" android:id="@+id/btSave"
android:layout_width="0dp" android:layout_width="0dp"
......
...@@ -55,17 +55,17 @@ ...@@ -55,17 +55,17 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:listitem="@layout/item_category" tools:listitem="@layout/item_category"
android:layout_below="@id/topBar" android:layout_below="@id/topBar"/>
android:layout_above="@id/imgEmpty"/>
<ImageView <ImageView
android:id="@+id/imgEmpty" android:id="@+id/imgEmpty"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="0dp"
android:visibility="gone" android:visibility="gone"
android:src="@drawable/no" android:src="@drawable/no"
android:layout_below="@id/topBar" android:layout_alignParentBottom="true"
android:foregroundGravity="center"/> android:layout_below="@id/rvCategory"
/>
<ProgressBar <ProgressBar
android:id="@+id/pbLoading" android:id="@+id/pbLoading"
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
android:layout_margin="12dp"> android:layout_margin="12dp">
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/cvCart"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:ignore="MissingConstraints"> tools:ignore="MissingConstraints">
......
...@@ -79,13 +79,12 @@ ...@@ -79,13 +79,12 @@
android:id="@+id/tvVA" android:id="@+id/tvVA"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="#000000" android:text="@{transaction.nomorPembayaran}"
android:textStyle="bold"
android:text="@{}"
android:textColor="#fff"
android:textAllCaps="true" android:textAllCaps="true"
android:textColor="#000"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
tools:layout_editor_absoluteY="33dp"
tools:text="@tools:sample/first_names" /> tools:text="@tools:sample/first_names" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="300dp" android:layout_height="wrap_content"
android:layout_marginHorizontal="5dp" android:layout_marginHorizontal="5dp"
android:layout_marginVertical="10dp"> android:layout_marginVertical="10dp">
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
android:id="@+id/btnDelete" android:id="@+id/btnDelete"
android:layout_width="30dp" android:layout_width="30dp"
android:layout_height="30dp" android:layout_height="30dp"
android:layout_margin="10dp"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
android:src="@drawable/ic_baseline_delete_24"/> android:src="@drawable/ic_baseline_delete_24"/>
...@@ -60,6 +61,7 @@ ...@@ -60,6 +61,7 @@
android:id="@+id/btnEdit" android:id="@+id/btnEdit"
android:layout_width="30dp" android:layout_width="30dp"
android:layout_height="30dp" android:layout_height="30dp"
android:layout_margin="10dp"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
android:src="@drawable/ic_baseline_edit_24"/> android:src="@drawable/ic_baseline_edit_24"/>
...@@ -121,6 +123,7 @@ ...@@ -121,6 +123,7 @@
android:layout_marginStart="10dp" android:layout_marginStart="10dp"
android:layout_marginEnd="10dp" android:layout_marginEnd="10dp"
android:text="Add To Cart" android:text="Add To Cart"
app:layout_constraintTop_toBottomOf="@id/price"
app:layout_constraintBottom_toBottomOf="parent" /> app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
......
...@@ -2,9 +2,8 @@ ...@@ -2,9 +2,8 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<item <item
android:id="@+id/menu_cart" android:id="@+id/menu_update"
app:showAsAction="always" app:showAsAction="always"
android:icon="@drawable/ic_baseline_shopping_cart_24" android:icon="@drawable/ic_baseline_done_24"
android:actionLayout="@layout/custome_action_badge"
android:title="Cart" /> android:title="Cart" />
</menu> </menu>
\ No newline at end of file
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