Você está na página 1de 6

package id.nonelab.beesmart.

views;

import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Objects;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import id.nonelab.beesmart.R;
import id.nonelab.beesmart.model.Financial;
import id.nonelab.beesmart.model.FinancialWd;
import id.nonelab.beesmart.model.SharedPref;
import id.nonelab.beesmart.utils.TimeUtil;
import id.nonelab.beesmart.utils.Tools;
import id.nonelab.beesmart.views.adapter.FinancialWdAdapter;

public class WithdrawActivity extends AppCompatActivity {

@BindView(R.id.toolbar)Toolbar toolbar;
@BindView(R.id.btn_witdraw)Button btn1Withdraw;
@BindView(R.id.txt_bonus)TextView txtBonus;
@BindView(R.id.edt_jumlah)EditText edtJumlah;
@BindView(R.id.edt_nama)EditText edtNama;
@BindView(R.id.edt_rek)EditText edtRek;
@BindView(R.id.rv_financial)RecyclerView rvFinancial;
@BindView(R.id.spn_bank)Spinner spnBank;
private int jumlahBonus = 0;
private SharedPref sharedPref;
private int jumlahWd = 0;
private ArrayList<String> listBank;
private String [] arrayBank;
TimeUtil timeUtil;

private AlertDialog dialog;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_withdraw);

ButterKnife.bind(this);
sharedPref = new SharedPref(this);

timeUtil = new TimeUtil();

edtNama.setText(sharedPref.getNama());
edtNama.setEnabled(false);

arrayBank = getResources().getStringArray(R.array.bank);

listBank = new ArrayList<>(Arrays.asList(arrayBank));

ArrayAdapter adapter = new ArrayAdapter(getBaseContext(),


android.R.layout.simple_spinner_dropdown_item, listBank);
spnBank.setAdapter(adapter);

setToolbar();

getFinancial();

// txtBonus.setText("Rp. "+new Tools().numberFormat(new


SharedPref(this).getBonus()));
}

private void getFinancial() {

final String id = new SharedPref(this).getID();


final String username = new SharedPref(this).getUsername();
DatabaseReference ref =
FirebaseDatabase.getInstance().getReference().child("Finansial_bonus_plan").child(u
sername);
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
ArrayList<Financial> financials = new ArrayList<>();
for (DataSnapshot child : dataSnapshot.getChildren()){
try {
Financial financial = child.getValue(Financial.class);
jumlahBonus = jumlahBonus + financial.getJumlah();
//
Toast.makeText(FinancialActivity.this, ""+jumlahBonus, Toast.LENGTH_SHORT).show();
financials.add(financial);
}catch (Exception ignored){
Toast.makeText(WithdrawActivity.this, "error
"+ignored.getMessage(), Toast.LENGTH_SHORT).show();
}
}
// txtBonus.setText(""+jumlahBonus);
// txtBonus.setText("Rp. "+new Tools().numberFormat(jumlahBonus));
// rvFinancial.setAdapter(new
FinancialAdapter(FinancialActivity.this, financials));
getFinancialWd();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {

}
});
}

private void getFinancialWd(){

LinearLayoutManager manager = new LinearLayoutManager(this);


rvFinancial.setLayoutManager(manager);

final String id = new SharedPref(this).getID();


final String username = new SharedPref(this).getUsername();
DatabaseReference databaseReference =
FirebaseDatabase.getInstance().getReference().child("Finansial_wd").child(username)
;
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
ArrayList<FinancialWd> financialWds = new ArrayList<>();
jumlahWd = 0;
if (dataSnapshot.exists()){
for (DataSnapshot ds : dataSnapshot.getChildren()){
try{
FinancialWd financialWd =
ds.getValue(FinancialWd.class);
jumlahWd = jumlahWd + financialWd.getJumlah();

financialWds.add(financialWd);
}catch (Exception e){
Toast.makeText(WithdrawActivity.this, "Error :
"+e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
rvFinancial.setAdapter(new
FinancialWdAdapter(WithdrawActivity.this, financialWds));
}else {
jumlahWd = 0;
}
int totalBonus = jumlahBonus;
totalBonus = totalBonus - jumlahWd;
txtBonus.setText("Rp. "+new Tools().numberFormat(totalBonus));
}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {

}
});
}

private void setToolbar() {


toolbar.setTitle(getString(R.string.menu_withdraw));
toolbar.setTitleTextColor(getResources().getColor(R.color.mdtp_white));
setSupportActionBar(toolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
/*@OnClick(R.id.btn_witdraw)
public void btnWithdraw(){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(getString(R.string.perhatian));
builder.setMessage("Proses Withdraw belum dapat anda gunakan saat ini");
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});

builder.create().show();
}*/

@OnClick(R.id.btn_witdraw)
public void btnWithdraw(){
String jumlahWd = edtJumlah.getText().toString();
String norek = edtRek.getText().toString();
String bank = "";
bank = listBank.get(spnBank.getSelectedItemPosition());

if (jumlahWd.equals("") || norek.equals("")){
Toast.makeText(this, "Semua Field Harus Diisi !",
Toast.LENGTH_SHORT).show();
}else if (bank.equals("--Pilih Bank--")){
Toast.makeText(this, "Silahkan Pilih Bank Yang Diinginkan !",
Toast.LENGTH_SHORT).show();
}else {
/*Toast.makeText(this, ""+jumlahWd, Toast.LENGTH_SHORT).show();
Toast.makeText(this, ""+norek, Toast.LENGTH_SHORT).show();
Toast.makeText(this, ""+bank, Toast.LENGTH_SHORT).show();*/
int intJumlahWd = Integer.parseInt(jumlahWd);

if (jumlahBonus <= intJumlahWd){


Toast.makeText(this, "Saldo Anda Tidak Mencukupi, Silahkan Periksa
Kembali Jumlah Saldo Anda !", Toast.LENGTH_SHORT).show();
}else {
//WD
// Toast.makeText(this, "Permintaan Withdraw Telah Dikirim Ke
Admin.", Toast.LENGTH_SHORT).show();
DatabaseReference dRefWd =
FirebaseDatabase.getInstance().getReference().child("Finansial_wd").child(sharedPre
f.getUsername()).push();

FinancialWd financialWd = new FinancialWd(sharedPref.getNama(),


bank, norek, "pending", timeUtil.hariIni(), intJumlahWd);

dRefWd.setValue(financialWd);

AlertDialog.Builder builder = new AlertDialog.Builder(this);


builder.setMessage("Permintaan Withdraw Anda Telah Dikirim Ke
Admin.")
.setPositiveButton("Ok", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// FIRE ZE MISSILES!
// prosesHapus(position);
dialog.dismiss();
startActivity(new Intent(WithdrawActivity.this,
HomeActivity.class));
finish();
}
});
// Create the AlertDialog object and return it

builder.setOnDismissListener(new
DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
startActivity(new Intent(WithdrawActivity.this,
HomeActivity.class));
finish();
}
});

dialog = builder.create();
dialog.show();

/*edtJumlah.getText().clear();
edtRek.getText().clear();
edtRek.clearFocus();*/

/*AlertDialog.Builder builder = new AlertDialog.Builder(this);


builder.setTitle("Proses Withdraw");
builder.setMessage("Permintaan Withdraw Telah Dikirim Ke Admin.");
builder.setPositiveButton("Ok", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
getFinancial();
}
});*/
}
}
}

private void popUpWd(){

@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == android.R.id.home){
back();
}
return true;
}

@Override
public void onBackPressed() {
back();
}

private void back() {


startActivity(new Intent(WithdrawActivity.this, HomeActivity.class));
finish();
}
}

Você também pode gostar