Commit 33774882 authored by Alfansyah Fadlian's avatar Alfansyah Fadlian

try to fix payment billing

parents daa844b6 265410a3
<?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="1.8" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" 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">
......
...@@ -35,6 +35,7 @@ public class CartActivity extends AppCompatActivity { ...@@ -35,6 +35,7 @@ public class CartActivity extends AppCompatActivity {
MainViewModelsCart modelsCart; MainViewModelsCart modelsCart;
RecyclerView recyclerView; RecyclerView recyclerView;
List<ProductCartModels> dataCart = null; List<ProductCartModels> dataCart = null;
public static Boolean statusPost;
@RequiresApi(api = Build.VERSION_CODES.N) @RequiresApi(api = Build.VERSION_CODES.N)
@Override @Override
...@@ -55,7 +56,7 @@ public class CartActivity extends AppCompatActivity { ...@@ -55,7 +56,7 @@ public class CartActivity extends AppCompatActivity {
recyclerView = findViewById(R.id.rvCart); recyclerView = findViewById(R.id.rvCart);
cartAdapter = new CartAdapter(); cartAdapter = new CartAdapter();
btnCheckout = findViewById(R.id.btCheckout); btnCheckout = findViewById(R.id.btCheckout);
LinearLayoutManager llm = new LinearLayoutManager(this); LinearLayoutManager llm = new LinearLayoutManager(this);
recyclerView.setLayoutManager(llm); recyclerView.setLayoutManager(llm);
...@@ -65,42 +66,42 @@ public class CartActivity extends AppCompatActivity { ...@@ -65,42 +66,42 @@ public class CartActivity extends AppCompatActivity {
modelsCart = new ViewModelProvider(this).get(MainViewModelsCart.class); modelsCart = new ViewModelProvider(this).get(MainViewModelsCart.class);
modelsCart.getCartProduct().observe(this, new Observer<List<ProductCartModels>>() { modelsCart.getCartProduct().observe(this, new Observer<List<ProductCartModels>>() {
@Override @Override
public void onChanged(List<ProductCartModels> productCartModels) { public void onChanged(List<ProductCartModels> productCartModels) {
if (productCartModels != null){ if (productCartModels != null) {
dataCart = productCartModels; dataCart = productCartModels;
cartAdapter.setCartAdapter(CartActivity.this, productCartModels); cartAdapter.setCartAdapter(CartActivity.this, productCartModels);
recyclerView.setAdapter(cartAdapter); recyclerView.setAdapter(cartAdapter);
} }
} }
}); });
cartAdapter.setListener(new CartAdapter.CartListener() { cartAdapter.setListener(new CartAdapter.CartListener() {
@Override @Override
public void onDelete(ProductCartModels productCartModels) { public void onDelete(ProductCartModels productCartModels) {
modelsCart.deleteCart(productCartModels); modelsCart.deleteCart(productCartModels);
} }
@Override @Override
public void onUpdateQuantityPlus(ProductCartModels productCartModels) { public void onUpdateQuantityPlus(ProductCartModels productCartModels) {
productCartModels.setQuantity_orders(productCartModels.getQuantity_orders()+1); productCartModels.setQuantity_orders(productCartModels.getQuantity_orders() + 1);
modelsCart.updateCart(productCartModels); modelsCart.updateCart(productCartModels);
} }
@Override @Override
public void onUpdateQuantityMinus(ProductCartModels productCartModels) { public void onUpdateQuantityMinus(ProductCartModels productCartModels) {
if (productCartModels.getQuantity_orders() > 1) { if (productCartModels.getQuantity_orders() > 1) {
productCartModels.setQuantity_orders(productCartModels.getQuantity_orders()-1); productCartModels.setQuantity_orders(productCartModels.getQuantity_orders() - 1);
modelsCart.updateCart(productCartModels); modelsCart.updateCart(productCartModels);
} }
} }
@Override @Override
public void onCheckout(ProductCartModels productCartModels) { public void onCheckout(ProductCartModels productCartModels) {
} }
}); });
btnCheckout.setOnClickListener(new View.OnClickListener() { btnCheckout.setOnClickListener(new View.OnClickListener() {
@Override @Override
...@@ -111,22 +112,19 @@ public class CartActivity extends AppCompatActivity { ...@@ -111,22 +112,19 @@ public class CartActivity extends AppCompatActivity {
OrdersResponse ordersResponse = new OrdersResponse(); OrdersResponse ordersResponse = new OrdersResponse();
List<ProductCartModels> productCartModels; List<ProductCartModels> productCartModels;
Log.d("Data cart checkout", "onClick: "+dataCart); Log.d("Data cart checkout", "onClick: " + dataCart);
for (ProductCartModels pd : dataCart){ for (ProductCartModels pd : dataCart) {
ordersResponse.setOrders_id(pd.getId_orders()); ordersResponse.setOrders_id(pd.getId_orders());
} }
ordersResponse.setProduct_cart(dataCart); ordersResponse.setProduct_cart(dataCart);
modelsCart.insertOrders(ordersResponse);
if(modelsCart.insertOrders(ordersResponse)){ progressDialog.dismiss();
progressDialog.dismiss(); startActivity(new Intent(CartActivity.this, PaymentActivity.class));
startActivity(new Intent(CartActivity.this, PaymentActivity.class)); finish();
}else{
progressDialog.dismiss();
Snackbar.make(view, "Your orders failed create!", Snackbar.LENGTH_LONG).show();
}
} }
}); });
} }
} }
......
package com.yono.messeripos; package com.yono.messeripos;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.lifecycle.ViewModelProviders;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import android.content.Intent; import android.content.Intent;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
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;
...@@ -15,16 +19,23 @@ import android.widget.Toast; ...@@ -15,16 +19,23 @@ import android.widget.Toast;
import android.widget.Toolbar; import android.widget.Toolbar;
import com.google.android.material.appbar.MaterialToolbar; import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.snackbar.Snackbar;
import com.google.gson.Gson;
import com.yono.messeripos.adapter.PaymentAdapter; import com.yono.messeripos.adapter.PaymentAdapter;
import com.yono.messeripos.models.MainViewModels;
import com.yono.messeripos.models.MainViewModelsCart;
import com.yono.messeripos.models.ProductCartModels;
import com.yono.messeripos.response.PaymentResponse; import com.yono.messeripos.response.PaymentResponse;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
public class PaymentActivity extends AppCompatActivity { public class PaymentActivity extends AppCompatActivity {
private ArrayList<PaymentResponse> paymentResponses = new ArrayList<>(); private ArrayList<PaymentResponse> paymentResponses = new ArrayList<>();
public static String methodPay=""; public static String methodPay="";
private Button btnPay; private Button btnPay;
private MainViewModelsCart mainViewModels;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
...@@ -38,10 +49,17 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -38,10 +49,17 @@ public class PaymentActivity extends AppCompatActivity {
MaterialToolbar toolbars = findViewById(R.id.appbar); MaterialToolbar toolbars = findViewById(R.id.appbar);
setSupportActionBar(toolbars); setSupportActionBar(toolbars);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true); mainViewModels = new ViewModelProvider(PaymentActivity.this).get(MainViewModelsCart.class);
getSupportActionBar().setTitle("Payment"); mainViewModels.getCartProduct().observe(this, new Observer<List<ProductCartModels>>() {
toolbars.setNavigationOnClickListener(view -> onBackPressed()); @Override
public void onChanged(List<ProductCartModels> productCartModels) {
String js = new Gson().toJson(productCartModels);
Log.i("On payment", "onChanged: "+js);
getSupportActionBar().setTitle(productCartModels.get(0).getId_orders());
}
});
RecyclerView rvPayment = findViewById(R.id.rvPayment); RecyclerView rvPayment = findViewById(R.id.rvPayment);
...@@ -71,5 +89,10 @@ public class PaymentActivity extends AppCompatActivity { ...@@ -71,5 +89,10 @@ public class PaymentActivity extends AppCompatActivity {
} }
}); });
} }
@Override
public void onBackPressed() {
super.onBackPressed();
}
} }
...@@ -11,6 +11,7 @@ import androidx.lifecycle.MutableLiveData; ...@@ -11,6 +11,7 @@ import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.Transformations; import androidx.lifecycle.Transformations;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.yono.messeripos.CartActivity;
import com.yono.messeripos.api.client.Client; import com.yono.messeripos.api.client.Client;
import com.yono.messeripos.api.service.OrdersService; import com.yono.messeripos.api.service.OrdersService;
import com.yono.messeripos.repositories.CartRepositories; import com.yono.messeripos.repositories.CartRepositories;
...@@ -23,8 +24,9 @@ import retrofit2.Call; ...@@ -23,8 +24,9 @@ import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
import retrofit2.Response; import retrofit2.Response;
import static com.yono.messeripos.CartActivity.statusPost;
public class MainViewModelsCart extends AndroidViewModel { public class MainViewModelsCart extends AndroidViewModel {
Boolean statusPost = false;
private MutableLiveData<ProductCartModels> cart = new MutableLiveData<>(); private MutableLiveData<ProductCartModels> cart = new MutableLiveData<>();
private LiveData<List<ProductCartModels>> productsLive; private LiveData<List<ProductCartModels>> productsLive;
...@@ -53,18 +55,20 @@ public class MainViewModelsCart extends AndroidViewModel { ...@@ -53,18 +55,20 @@ public class MainViewModelsCart extends AndroidViewModel {
public void updateQtyCart(long qty, long id){cartRepositories.updateQty(qty, id);} public void updateQtyCart(long qty, long id){cartRepositories.updateQty(qty, id);}
public Boolean insertOrders(OrdersResponse ordersResponse){ public void insertOrders(OrdersResponse ordersResponse){
Client client = new Client(); Client client = new Client();
OrdersService ordersService = client.Client(OrdersService.class); OrdersService ordersService = client.Client(OrdersService.class);
ordersService.postOrders(ordersResponse).enqueue(new Callback<DataResponse>() { ordersService.postOrders(ordersResponse).enqueue(new Callback<DataResponse>() {
@Override @Override
public void onResponse(Call<DataResponse> call, Response<DataResponse> response) { public void onResponse(Call<DataResponse> call, Response<DataResponse> response) {
Log.i("Response post orders", "onResponse: "+response.body()); Log.i("Response post orders", "onResponse: "+response.body());
if (response.body() != null){ if (response.body() != null){
statusPost = true; statusPost = true;
Log.i("Log didalam if act", "insertOrders: "+ statusPost);
}else{ }else{
statusPost = false; statusPost = false;
Log.i("Log dialam else act", "insertOrders: "+statusPost);
} }
} }
...@@ -73,9 +77,9 @@ public class MainViewModelsCart extends AndroidViewModel { ...@@ -73,9 +77,9 @@ public class MainViewModelsCart extends AndroidViewModel {
public void onFailure(Call<DataResponse> call, Throwable t) { public void onFailure(Call<DataResponse> call, Throwable t) {
Log.e("Error response post orders", "onFailure: ",t ); Log.e("Error response post orders", "onFailure: ",t );
statusPost = false; statusPost = false;
Log.i("Log didalam errror act", "insertOrders: "+statusPost);
} }
}); });
return statusPost;
} }
public LiveData<List<ProductCartModels>> getCartById(long id){ public LiveData<List<ProductCartModels>> getCartById(long id){
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<variable
name="payments"
type="com.yono.messeripos.models.ProductCartModels" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout 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"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
...@@ -6,6 +15,7 @@ ...@@ -6,6 +15,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".PaymentActivity"> tools:context=".PaymentActivity">
<include <include
android:id="@+id/appbar" android:id="@+id/appbar"
layout="@layout/app_bar" layout="@layout/app_bar"
...@@ -42,7 +52,7 @@ ...@@ -42,7 +52,7 @@
android:textSize="24sp" android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
tools:text="@string/hint_billing" /> android:text="Billing "/>
<ImageView <ImageView
android:id="@+id/image_splash" android:id="@+id/image_splash"
...@@ -63,7 +73,7 @@ ...@@ -63,7 +73,7 @@
android:textAlignment="center" android:textAlignment="center"
android:textSize="14sp" android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@+id/image_splash" app:layout_constraintTop_toBottomOf="@+id/image_splash"
tools:text="@string/hint_product_name" /> android:text="@string/hint_product_name" />
<com.google.android.material.textview.MaterialTextView <com.google.android.material.textview.MaterialTextView
android:id="@+id/tvBillingPrice" android:id="@+id/tvBillingPrice"
...@@ -74,7 +84,7 @@ ...@@ -74,7 +84,7 @@
android:textAlignment="center" android:textAlignment="center"
android:textSize="14sp" android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@+id/tvBillingProduct" app:layout_constraintTop_toBottomOf="@+id/tvBillingProduct"
tools:text="@string/hint_price" /> android:text="@string/hint_price" />
<com.google.android.material.textview.MaterialTextView <com.google.android.material.textview.MaterialTextView
android:id="@+id/tvBillingQuantity" android:id="@+id/tvBillingQuantity"
...@@ -85,7 +95,7 @@ ...@@ -85,7 +95,7 @@
android:textAlignment="center" android:textAlignment="center"
android:textSize="14sp" android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@+id/tvBillingPrice" app:layout_constraintTop_toBottomOf="@+id/tvBillingPrice"
tools:text="@string/hint_quantity" /> android:text="@string/hint_quantity" />
<com.google.android.material.textview.MaterialTextView <com.google.android.material.textview.MaterialTextView
android:id="@+id/tvBillingCategory" android:id="@+id/tvBillingCategory"
...@@ -96,7 +106,7 @@ ...@@ -96,7 +106,7 @@
android:textAlignment="center" android:textAlignment="center"
android:textSize="14sp" android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@+id/tvBillingQuantity" app:layout_constraintTop_toBottomOf="@+id/tvBillingQuantity"
tools:text="@string/hint_category" /> android:text="@string/hint_category" />
<com.google.android.material.textview.MaterialTextView <com.google.android.material.textview.MaterialTextView
android:id="@+id/tvBillingDesc" android:id="@+id/tvBillingDesc"
...@@ -107,7 +117,7 @@ ...@@ -107,7 +117,7 @@
android:textAlignment="center" android:textAlignment="center"
android:textSize="14sp" android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@+id/tvBillingCategory" app:layout_constraintTop_toBottomOf="@+id/tvBillingCategory"
tools:text="@string/hint_description" /> android:text="@string/hint_description" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
...@@ -132,4 +142,6 @@ ...@@ -132,4 +142,6 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/> app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
</layout>
\ 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