Advertisement
Guest User

Total price calculating from cart

a guest
Jan 11th, 2019
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.56 KB | None | 0 0
  1.   @Override
  2.     protected void onCreate(Bundle savedInstanceState) {
  3.         super.onCreate(savedInstanceState);
  4.         setContentView(R.layout.activity_cart);
  5.  
  6.         //Firebase
  7.         database = FirebaseDatabase.getInstance();
  8.         requests = database.getReference("Requests");
  9.  
  10.         //init
  11.         recyclerView = findViewById(R.id.listCart);
  12.         recyclerView.setHasFixedSize(true);
  13.         layoutManager = new LinearLayoutManager(this);
  14.         recyclerView.setLayoutManager(layoutManager);
  15.        
  16.         txtTotalPrice = findViewById(R.id.total);
  17.         btnPlace = findViewById(R.id.btnPlaceOrder);
  18.  
  19.         btnPlace.setOnClickListener(new View.OnClickListener() {
  20.             @Override
  21.             public void onClick(View v) {
  22.                 if (cart.size() > 0)
  23.                     showAlertDialog();
  24.                 else
  25.                     Toast.makeText(Cart.this, "Your Cart is Empty", Toast.LENGTH_SHORT).show();
  26.             }
  27.         });
  28.        
  29.         loadListFood();
  30.     }
  31.  
  32.  private void showAlertDialog() {
  33.         AlertDialog.Builder alertDialog = new AlertDialog.Builder(Cart.this);
  34.         alertDialog.setTitle("One more step!");
  35.         alertDialog.setMessage("Enter your address: ");
  36.  
  37.         final EditText edtAddress = new EditText(Cart.this);
  38.         LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
  39.                 LinearLayout.LayoutParams.MATCH_PARENT,
  40.                 LinearLayout.LayoutParams.MATCH_PARENT
  41.         );
  42.         edtAddress.setLayoutParams(lp);
  43.         alertDialog.setView(edtAddress); // Add edit text to alert dialog.
  44.         alertDialog.setIcon(R.drawable.ic_shopping_cart_black_24dp);
  45.  
  46.         alertDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
  47.             @Override
  48.             public void onClick(DialogInterface dialog, int which) {
  49.                 // Create new Request
  50.                 Request request = new Request(
  51.                         Common.currentUser.getPhone(),
  52.                         Common.currentUser.getName(),
  53.                         edtAddress.getText().toString(),
  54.                         txtTotalPrice.getText().toString(),
  55.                         cart
  56.                 );
  57.  
  58.                 int stock = 0;
  59.  
  60.  
  61.                 // Submit to Firebase Database
  62.                 // We Will using System.CurrentMilli to Key
  63.                 requests.child(String.valueOf(System.currentTimeMillis()))
  64.                         .setValue(request);
  65.                 //Delete cart
  66.                 new Database(getBaseContext()).cleanCart();
  67.                 Toast.makeText(Cart.this, "Thank you for ordering!", Toast.LENGTH_SHORT).show();
  68.                 finish();
  69.             }
  70.         });
  71.  
  72.         alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener() {
  73.             @Override
  74.             public void onClick(DialogInterface dialog, int which) {
  75.                 dialog.dismiss();
  76.             }
  77.         });
  78.  
  79.         alertDialog.show();
  80.     }
  81.  
  82.     private void loadListFood() {
  83.         cart = new Database(this).getCarts();
  84.         adapter = new CartAdapter(cart, this);
  85.         adapter.notifyDataSetChanged();
  86.         recyclerView.setAdapter(adapter);
  87.  
  88.         //Calculation of total price
  89.         int total = 0;
  90.         for(Order order:cart)
  91.             total+=(Integer.parseInt(order.getPrice())) * (Integer.parseInt(order.getQuantity()));
  92.  
  93.  
  94.  
  95.         Locale locale = new Locale("en","PH");
  96.         NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);
  97.  
  98.         txtTotalPrice.setText(fmt.format(total));
  99.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement