Commit 56b84de0 authored by Muhammad Suryono's avatar Muhammad Suryono

Update with transaksi

parent d720eb45
package com.yono.messeripos;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
......@@ -43,6 +44,7 @@ public class BottomSheets extends BottomSheetDialogFragment {
String defaultText = "0";
Client client = new Client();
public static long grossAmount;
SharedPreferences sharedPreferences;
PaymentsModels paymentsModels;
public BottomSheets(PaymentsModels paymentsModels) {
......@@ -71,6 +73,7 @@ public class BottomSheets extends BottomSheetDialogFragment {
btnCash = v.findViewById(R.id.btnCash);
totalHarga = v.findViewById(R.id.totalHarga);
utils = new Utils();
// sharedPreferences = getActivity().getSharedPreferences(MainActivity.ORDER_ID, Context.MODE_PRIVATE);
long ga = paymentsModels.getGrossAmount();
String setCurrency = utils.convertPrice("Rp.", ga);
......
......@@ -94,17 +94,17 @@ public class CartActivity extends AppCompatActivity {
Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
sharedPreferences = getSharedPreferences(SplashScreen.MY_SHARED_PREFERENCES, Context.MODE_PRIVATE);
Log.i("Id Order on acart", "onCreate: "+orderId);
if (orderId.isEmpty()){
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(ORDER_ID, "MES-ORDER"+orderId);
if (editor.commit()){
Toast.makeText(CartActivity.this, orderId, Toast.LENGTH_LONG).show();
}
}
sharedPreferences = getSharedPreferences(MainActivity.MY_SHARED_PREFERENCES, Context.MODE_PRIVATE);
// Log.i("Id Order on acart", "onCreate: "+orderId);
// if (orderId.isEmpty()){
// SharedPreferences.Editor editor = sharedPreferences.edit();
// editor.putString(ORDER_ID, "MES-ORDER"+orderId);
//
// if (editor.commit()){
// Toast.makeText(CartActivity.this, orderId, Toast.LENGTH_LONG).show();
// }
// }
// Toolbars
MaterialToolbar toolbars = findViewById(R.id.cAppBar);
......@@ -250,4 +250,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 {
private Utils utils = new Utils();
ProgressDialog progressDialog;
Client client = new Client();
ProductModels productModelsIntent;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
......@@ -90,7 +91,7 @@ public class FormProductActivity extends AppCompatActivity {
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);
......@@ -110,6 +111,10 @@ public class FormProductActivity extends AppCompatActivity {
productModels.setPriceProduct(productModelsIntent.getPriceProduct());
productModels.setStockProduct(productModelsIntent.getStockProduct());
productModels.setImageProduct(productModelsIntent.getImageProduct());
binding.setProductForm(productModelsIntent);
binding.setPhoto(productModelsIntent.getImageProduct());
binding.btnAdd.setText("UPDATE PRODUCT");
}else{
productModelsIntent = new ProductModels("",0,0, utils.convertImageBase64Resource(getResources(), R.drawable.logo_32));
......@@ -169,6 +174,50 @@ public class FormProductActivity extends AppCompatActivity {
productModels.setStockProduct(Integer.parseInt(binding.etStock.getText().toString()));
productModels.setCategoryProduct(binding.listCategory.getSelectedIndex());
if (isUpdate){
Log.i("update_path", "saveProduct: "+locationPath);
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.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);
......@@ -218,6 +267,7 @@ public class FormProductActivity extends AppCompatActivity {
}
}
}
}
private void openFile(){
Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
......
......@@ -66,21 +66,11 @@ public class HistoryActivity extends AppCompatActivity {
new Observer<DataResponse<List<PaymentsModels>>>() {
@Override
public void onChanged(DataResponse<List<PaymentsModels>> listDataResponse) {
Log.i("Hasil_transaksi", "onChanged: "+utils.convertGson(listDataResponse.getData()));
ArrayList<PaymentsModels> newData = new ArrayList<>();
newData.addAll(listDataResponse.getData());
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);
recyclerView.setLayoutManager(new LinearLayoutManager(HistoryActivity.this,RecyclerView.VERTICAL,false));
......
......@@ -31,6 +31,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.snackbar.Snackbar;
import com.google.gson.Gson;
import com.yono.messeripos.adapter.CategoryAdapter;
......@@ -72,8 +73,9 @@ public class MainActivity extends AppCompatActivity {
Client client = new Client();
public static ArrayList<ProductModels> productModelsArrayList = new ArrayList<>();
public static final String DATA_PRODUCT = "DATA_PRODUCT";
public static final String MY_SHARED_PREFERENCES = "my_shared_preferences";
ProgressDialog progressDialog;
public static Boolean cartOpen;
MaterialButton btnAddCart;
@SuppressLint("LongLogTag")
@Override
......@@ -84,13 +86,12 @@ public class MainActivity extends AppCompatActivity {
ProductAdapter adapter = new ProductAdapter();
binding.rvProduct.setAdapter(adapter);
// binding.appBarUpdate.setVisibility(View.GONE);
showLoading(true);
categoryAdapter = new CategoryAdapter();
productAdapter = new ProductAdapter();
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);
orderId = sharedPreferences.getString(ORDER_ID,"");
progressDialog = new ProgressDialog(MainActivity.this);
......@@ -105,7 +106,7 @@ public class MainActivity extends AppCompatActivity {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(ORDER_ID,"MES-ORDER"+utils.timeStamp());
if (editor.commit()){
Toast.makeText(MainActivity.this, orderId, Toast.LENGTH_LONG).show();
// Toast.makeText(MainActivity.this, orderId, Toast.LENGTH_LONG).show();
}
}
......
......@@ -77,7 +77,7 @@ public class PaymentActivity extends AppCompatActivity {
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();
checkoutAdapter = new CheckoutAdapter();
......@@ -91,7 +91,7 @@ public class PaymentActivity extends AppCompatActivity {
setSupportActionBar(toolbars);
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
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
public void onChanged(List<ProductCartModels> productCartModels) {
String js = new Gson().toJson(productCartModels);
......
......@@ -146,6 +146,12 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo
binding.setStatus(statusProduct);
}
if (products.getStockProduct() <= 1){
binding.materialBtnAddCart.setEnabled(false);
}else{
binding.materialBtnAddCart.setEnabled(true);
}
binding.materialBtnAddCart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
......
......@@ -16,6 +16,7 @@ import retrofit2.http.DELETE;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Part;
import retrofit2.http.Path;
......@@ -30,6 +31,9 @@ public interface ProductService {
@POST(ApiHelper.VERSI_API_1+"product")
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
@POST(ApiHelper.VERSI_API_1+"product")
Call<DataResponse<ProductModels>> postProducts(
......
......@@ -24,6 +24,10 @@ public class PaymentsModels {
@SerializedName("updated_at")
private String updatedAt;
@SerializedName("va_number")
private String nomorPembayaran;
public PaymentsModels() {
}
......@@ -89,4 +93,12 @@ public class PaymentsModels {
public void setUpdatedAt(String updatedAt) {
this.updatedAt = updatedAt;
}
public String getNomorPembayaran() {
return nomorPembayaran;
}
public void setNomorPembayaran(String nomorPembayaran) {
this.nomorPembayaran = nomorPembayaran;
}
}
......@@ -16,6 +16,16 @@
android:textFontWeight="600"
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
android:id="@+id/totalHarga"
android:layout_width="wrap_content"
......@@ -25,13 +35,23 @@
android:textFontWeight="600"
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
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bayar"
android:textFontWeight="600"
android:layout_below="@id/totalHarga" />
android:layout_below="@id/changeText" />
<EditText
android:id="@+id/etBayar"
......@@ -42,29 +62,13 @@
android:inputType="number"
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
android:id="@+id/btnCash"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/hint_pay"
android:hint="Insert Money"
android:layout_below="@id/hargaChange" />
android:layout_below="@id/etBayar" />
</RelativeLayout>
......
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