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"?>
<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" />
</component>
<component name="ProjectType">
......
......@@ -35,6 +35,7 @@ public class CartActivity extends AppCompatActivity {
MainViewModelsCart modelsCart;
RecyclerView recyclerView;
List<ProductCartModels> dataCart = null;
public static Boolean statusPost;
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
......@@ -69,7 +70,7 @@ public class CartActivity extends AppCompatActivity {
@Override
public void onChanged(List<ProductCartModels> productCartModels) {
if (productCartModels != null){
if (productCartModels != null) {
dataCart = productCartModels;
cartAdapter.setCartAdapter(CartActivity.this, productCartModels);
recyclerView.setAdapter(cartAdapter);
......@@ -85,14 +86,14 @@ public class CartActivity extends AppCompatActivity {
@Override
public void onUpdateQuantityPlus(ProductCartModels productCartModels) {
productCartModels.setQuantity_orders(productCartModels.getQuantity_orders()+1);
productCartModels.setQuantity_orders(productCartModels.getQuantity_orders() + 1);
modelsCart.updateCart(productCartModels);
}
@Override
public void onUpdateQuantityMinus(ProductCartModels productCartModels) {
if (productCartModels.getQuantity_orders() > 1) {
productCartModels.setQuantity_orders(productCartModels.getQuantity_orders()-1);
productCartModels.setQuantity_orders(productCartModels.getQuantity_orders() - 1);
modelsCart.updateCart(productCartModels);
}
}
......@@ -111,22 +112,19 @@ public class CartActivity extends AppCompatActivity {
OrdersResponse ordersResponse = new OrdersResponse();
List<ProductCartModels> productCartModels;
Log.d("Data cart checkout", "onClick: "+dataCart);
for (ProductCartModels pd : dataCart){
Log.d("Data cart checkout", "onClick: " + dataCart);
for (ProductCartModels pd : dataCart) {
ordersResponse.setOrders_id(pd.getId_orders());
}
ordersResponse.setProduct_cart(dataCart);
if(modelsCart.insertOrders(ordersResponse)){
modelsCart.insertOrders(ordersResponse);
progressDialog.dismiss();
startActivity(new Intent(CartActivity.this, PaymentActivity.class));
}else{
progressDialog.dismiss();
Snackbar.make(view, "Your orders failed create!", Snackbar.LENGTH_LONG).show();
}
finish();
}
});
}
}
......
package com.yono.messeripos;
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.RecyclerView;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
......@@ -15,16 +19,23 @@ import android.widget.Toast;
import android.widget.Toolbar;
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.models.MainViewModels;
import com.yono.messeripos.models.MainViewModelsCart;
import com.yono.messeripos.models.ProductCartModels;
import com.yono.messeripos.response.PaymentResponse;
import java.util.ArrayList;
import java.util.List;
public class PaymentActivity extends AppCompatActivity {
private ArrayList<PaymentResponse> paymentResponses = new ArrayList<>();
public static String methodPay="";
private Button btnPay;
private MainViewModelsCart mainViewModels;
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -38,10 +49,17 @@ public class PaymentActivity extends AppCompatActivity {
MaterialToolbar toolbars = findViewById(R.id.appbar);
setSupportActionBar(toolbars);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setTitle("Payment");
toolbars.setNavigationOnClickListener(view -> onBackPressed());
mainViewModels = new ViewModelProvider(PaymentActivity.this).get(MainViewModelsCart.class);
mainViewModels.getCartProduct().observe(this, new Observer<List<ProductCartModels>>() {
@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);
......@@ -71,5 +89,10 @@ public class PaymentActivity extends AppCompatActivity {
}
});
}
@Override
public void onBackPressed() {
super.onBackPressed();
}
}
......@@ -11,6 +11,7 @@ import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.Transformations;
import com.google.gson.Gson;
import com.yono.messeripos.CartActivity;
import com.yono.messeripos.api.client.Client;
import com.yono.messeripos.api.service.OrdersService;
import com.yono.messeripos.repositories.CartRepositories;
......@@ -23,8 +24,9 @@ import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import static com.yono.messeripos.CartActivity.statusPost;
public class MainViewModelsCart extends AndroidViewModel {
Boolean statusPost = false;
private MutableLiveData<ProductCartModels> cart = new MutableLiveData<>();
private LiveData<List<ProductCartModels>> productsLive;
......@@ -53,18 +55,20 @@ public class MainViewModelsCart extends AndroidViewModel {
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();
OrdersService ordersService = client.Client(OrdersService.class);
ordersService.postOrders(ordersResponse).enqueue(new Callback<DataResponse>() {
@Override
public void onResponse(Call<DataResponse> call, Response<DataResponse> response) {
Log.i("Response post orders", "onResponse: "+response.body());
if (response.body() != null){
statusPost = true;
Log.i("Log didalam if act", "insertOrders: "+ statusPost);
}else{
statusPost = false;
Log.i("Log dialam else act", "insertOrders: "+statusPost);
}
}
......@@ -73,9 +77,9 @@ public class MainViewModelsCart extends AndroidViewModel {
public void onFailure(Call<DataResponse> call, Throwable t) {
Log.e("Error response post orders", "onFailure: ",t );
statusPost = false;
Log.i("Log didalam errror act", "insertOrders: "+statusPost);
}
});
return statusPost;
}
public LiveData<List<ProductCartModels>> getCartById(long id){
......
<?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"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
......@@ -6,6 +15,7 @@
android:layout_height="match_parent"
tools:context=".PaymentActivity">
<include
android:id="@+id/appbar"
layout="@layout/app_bar"
......@@ -42,7 +52,7 @@
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:text="@string/hint_billing" />
android:text="Billing "/>
<ImageView
android:id="@+id/image_splash"
......@@ -63,7 +73,7 @@
android:textAlignment="center"
android:textSize="14sp"
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
android:id="@+id/tvBillingPrice"
......@@ -74,7 +84,7 @@
android:textAlignment="center"
android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@+id/tvBillingProduct"
tools:text="@string/hint_price" />
android:text="@string/hint_price" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tvBillingQuantity"
......@@ -85,7 +95,7 @@
android:textAlignment="center"
android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@+id/tvBillingPrice"
tools:text="@string/hint_quantity" />
android:text="@string/hint_quantity" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tvBillingCategory"
......@@ -96,7 +106,7 @@
android:textAlignment="center"
android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@+id/tvBillingQuantity"
tools:text="@string/hint_category" />
android:text="@string/hint_category" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tvBillingDesc"
......@@ -107,7 +117,7 @@
android:textAlignment="center"
android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@+id/tvBillingCategory"
tools:text="@string/hint_description" />
android:text="@string/hint_description" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
......@@ -133,3 +143,5 @@
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</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