· 5 years ago · Aug 30, 2020, 02:32 AM
1package com.example.achiepos.activity;
2
3import android.app.ProgressDialog;
4import android.content.Intent;
5import android.graphics.Color;
6import android.os.Bundle;
7import android.text.Editable;
8import android.text.TextUtils;
9import android.text.TextWatcher;
10import android.view.View;
11import android.widget.Button;
12import android.widget.EditText;
13import android.widget.ImageView;
14import android.widget.TextView;
15import android.widget.Toast;
16
17import com.amulyakhare.textdrawable.TextDrawable;
18import com.cepheuen.elegantnumberbutton.view.ElegantNumberButton;
19import com.example.achiepos.R;
20import com.example.achiepos.config.apiClient;
21import com.example.achiepos.config.apiInterface;
22import com.example.achiepos.model.Keranjang;
23
24import java.util.Random;
25
26import androidx.appcompat.app.AppCompatActivity;
27import retrofit2.Call;
28import retrofit2.Callback;
29import retrofit2.Response;
30
31public class TransaksiActivity extends AppCompatActivity {
32 private Button btn_simpan;
33 private EditText ed_diskon, ed_total;
34 private ImageView img_huruf;
35 private ElegantNumberButton btn_jml;
36 private String huruf, diskon = "0", total = "0", idBarang, barcode, hargaBeli, hargaJual, jumlah;
37 private TextView namaBarang, hargaBarang;
38 private apiInterface api;
39
40 @Override
41 protected void onCreate(Bundle savedInstanceState) {
42 super.onCreate(savedInstanceState);
43 setContentView(R.layout.activity_transaksi);
44 img_huruf = findViewById(R.id.icKeranjang);
45 btn_jml = findViewById(R.id.elegantNumberButton);
46 ed_diskon = findViewById(R.id.txtdiskoncart);
47 ed_total = findViewById(R.id.txtTotalCart);
48 btn_simpan = findViewById(R.id.btnOKcart);
49 namaBarang = findViewById(R.id.keranjang_nama_item);
50 hargaBarang = findViewById(R.id.keranjang_harga_item);
51
52 Intent intent = getIntent();
53 idBarang = intent.getStringExtra("id_barang");
54 barcode = intent.getStringExtra("barcode");
55 huruf = intent.getStringExtra("nama_barang");
56 hargaBeli = String.valueOf(intent.getIntExtra("harga_beli", 0));
57 hargaJual = String.valueOf(intent.getIntExtra("harga_jual", 0));
58
59
60 setData();
61 btn_jml.setOnClickListener(new ElegantNumberButton.OnClickListener() {
62
63 @Override
64 public void onClick(View view) {
65 jumlah = btn_jml.getNumber();
66 double xhargaJual = Double.parseDouble(hargaJual);
67 double xsubTotal = xhargaJual * Integer.parseInt(jumlah);
68 double xdiskon = Double.parseDouble(ed_diskon.getText().toString().trim());
69 double total = xsubTotal - (xsubTotal * xdiskon/100);
70 ed_total.setText(String.format("%s", total));
71 }
72 });
73
74 ed_diskon.addTextChangedListener(new TextWatcher() {
75 @Override
76 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
77
78 }
79
80 @Override
81 public void onTextChanged(CharSequence s, int start, int before, int count) {
82 if (!TextUtils.isEmpty(ed_diskon.getText().toString().trim())){
83 jumlah = btn_jml.getNumber();
84 double xhargaJual = Double.parseDouble(hargaJual);
85 double xsubTotal = xhargaJual * Integer.parseInt(jumlah);
86 double xdiskon = Double.parseDouble(ed_diskon.getText().toString().trim());
87 double total = xsubTotal - (xsubTotal * xdiskon/100);
88 ed_total.setText(String.format("%s", total));
89 }
90 else{
91 ed_diskon.setText("0");
92 }
93 }
94
95 @Override
96 public void afterTextChanged(Editable s) {
97
98 }
99 });
100 btn_simpan.setOnClickListener(new View.OnClickListener() {
101 @Override
102 public void onClick(View v) {
103 tambahData("create");
104 }
105 });
106 }
107
108 private void setData() {
109 String awalan = huruf.substring(0, 1);
110 TextDrawable drawable = TextDrawable.builder()
111 .buildRound(awalan, getColor());
112 img_huruf.setImageDrawable(drawable);
113 namaBarang.setText(huruf);
114 hargaBarang.setText(hargaJual);
115 ed_diskon.setText(diskon);
116 ed_total.setText(total);
117 }
118
119 public String[] myColors = {
120 "#e15258", //red
121 "#c25975" //mauve
122 };
123
124 public int getColor() {
125 String color;
126 Random random = new Random();
127 int randomnumber = random.nextInt(myColors.length);
128
129 color = myColors[randomnumber];
130
131 return Color.parseColor(color);
132 }
133
134 private void tambahData(final String key) {
135 final ProgressDialog progressDialog = new ProgressDialog(this);
136 progressDialog.setMessage("Proses Simpan. . .");
137 progressDialog.show();
138
139 api = apiClient.getApiClient().create(apiInterface.class);
140
141 String jumlah = btn_jml.getNumber();
142 String diskon = ed_diskon.getText().toString().trim();
143 String total = ed_total.getText().toString().trim();
144
145 Call<Keranjang> call = api.tambahKeranjang(key, idBarang, barcode, "1", jumlah,
146 hargaBeli, hargaJual, diskon, total);
147 call.enqueue(new Callback<Keranjang>() {
148 @Override
149 public void onResponse(Call<Keranjang> call, Response<Keranjang> response) {
150 progressDialog.dismiss();
151 String message = response.body().getMessage();
152 Toast.makeText(TransaksiActivity.this, message, Toast.LENGTH_SHORT).show();
153 finish();
154 }
155
156 @Override
157 public void onFailure(Call<Keranjang> call, Throwable t) {
158 progressDialog.dismiss();
159 Toast.makeText(TransaksiActivity.this, t.getMessage(), Toast.LENGTH_SHORT).show();
160 }
161 });
162 }
163}
164