Skip to content
Snippets Groups Projects
Commit a7868b07 authored by Christian Dresen's avatar Christian Dresen
Browse files

PayChoice Dialog hinzugefügt

parent 8878219f
No related branches found
No related tags found
No related merge requests found
package ms.itsecteam.warpdrink.dialogs;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import ms.itsecteam.warpdrink.MainActivity;
import ms.itsecteam.warpdrink.R;
import ms.itsecteam.warpdrink.manager.DataManager;
import ms.itsecteam.warpdrink.manager.MainManager;
public class PayChoiceDialog extends Dialog implements
View.OnClickListener {
private Button btnCredit,btnCash;
public PayChoiceDialog() {
super(MainManager.getInstance().getMainActivity());
;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.pay_choice_dialog);
btnCredit = (Button) findViewById(R.id.btnCredit);
btnCash = (Button) findViewById(R.id.btnCash);
btnCredit.setOnClickListener(this);
btnCash.setOnClickListener(this);
if(DataManager.getInstance().getIs_guest())
btnCredit.setEnabled(false);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnCredit:
MainManager.getInstance().performPayment(true);
break;
case R.id.btnCash:
MainManager.getInstance().performPayment(false);
break;
default:
break;
}
dismiss();
}
}
......@@ -16,6 +16,8 @@ import retrofit.Retrofit;
public class DataManager {
private User currentUser;
private Boolean is_guest=false;
private double totalAmount;
private ArrayList<Order> orderList;
private static DataManager ourInstance = new DataManager();
......@@ -44,12 +46,21 @@ public class DataManager {
});
}
public Boolean getIs_guest() {
return is_guest;
}
public void setIs_guest(Boolean is_guest) {
this.is_guest = is_guest;
}
public void performPayment() {
public void performPayment(Boolean cash) {
for (Order order:this.orderList) {
RestTransaction transaction = new RestTransaction();
transaction.setProduct(RestProduct.fromLocalProduct(order.getProduct()));
transaction.setTrans_type(2);
if(this.is_guest || cash)
transaction.setCash_paid(true);
MainManager.getInstance().getRestService().saveTransaction(this.currentUser.getUserid(), transaction).enqueue(new Callback<Void>() {
@Override
public void onResponse(Response<Void> response, Retrofit retrofit) {
......@@ -70,6 +81,7 @@ public class DataManager {
public void clearCurrentUser() {
this.currentUser = null;
this.totalAmount = 0.0;
this.is_guest=false;
this.orderList = new ArrayList<Order>();
}
......
......@@ -191,28 +191,14 @@ public class MainManager {
}
public void performPayment() {
public void performPayment(Boolean cash) {
User user = DataManager.getInstance().getCurrentUser();
double totalAmount = DataManager.getInstance().getTotalAmount();
if (totalAmount > 0.0 && user != null){
if (DataManager.getInstance().getCurrentUser().getCredit()>=totalAmount){
new AlertDialog.Builder(mainActivity)
.setTitle(mainActivity.getResources().getString(R.string.confirm_payment_title))
.setMessage(mainActivity.getResources().getString(R.string.confirm_payment, totalAmount))
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
DataManager.getInstance().performPayment();
MainManager.getInstance().clearCurrentUser();
}
})
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
})
.setIcon(android.R.drawable.ic_dialog_alert)
.show();
if (DataManager.getInstance().getCurrentUser().getCredit()>=totalAmount || cash){
DataManager.getInstance().performPayment(true);
MainManager.getInstance().clearCurrentUser();
} else {
Toast.makeText(mainActivity, mainActivity.getResources().getString(R.string.please_charge), Toast.LENGTH_LONG).show();
}
......
......@@ -27,6 +27,7 @@ import ms.itsecteam.warpdrink.data.models.local.Product;
import ms.itsecteam.warpdrink.data.models.local.User;
import ms.itsecteam.warpdrink.dialogs.ChargeDialog;
import ms.itsecteam.warpdrink.dialogs.NewUserDialog;
import ms.itsecteam.warpdrink.dialogs.PayChoiceDialog;
import ms.itsecteam.warpdrink.listener.CategoryOnClickListener;
import ms.itsecteam.warpdrink.orderList.ListViewAdapter;
import ms.itsecteam.warpdrink.orderList.ListViewAdapterProducts;
......@@ -152,7 +153,7 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap
new ChargeDialog().show();
break;
case R.id.btnPay:
MainManager.getInstance().performPayment();
new PayChoiceDialog().show();
break;
case R.id.btnLogout:
MainManager.getInstance().clearCurrentUser();
......@@ -163,6 +164,9 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap
case R.id.btnRefresh:
MainManager.getInstance().refreshData();
break;
case R.id.btnGuest:
MainManager.getInstance().setCurrentUser(new User("Guest",0,""));
DataManager.getInstance().setIs_guest(true);
}
}
// @ToDo: Key handling für beide Fälle (BarCode und Username)
......@@ -178,6 +182,7 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap
MainManager.getInstance().setCurrentUser((User) this.atxvAdapter.getItem(0));
this.atxvName.setText(this.atxvAdapter.getItem(0).toString());
this.atxvName.dismissDropDown();
DataManager.getInstance().setIs_guest(false);
}
return true;
}
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<Space
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_weight="0.38" />
<TextView
android:id="@+id/txtTotalAmountConfirm"
android:layout_width="644dp"
android:layout_height="wrap_content"
android:text="@string/txtTotalAmountConfirm"
android:textSize="50sp" />
<Space
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_weight="0.38" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.38"
android:orientation="horizontal">
<Button
android:id="@+id/btnCash"
style="@style/ButtonText"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_column="1"
android:layout_row="3"
android:layout_weight="1"
android:width="10dp"
android:background="@color/flatui_blue"
android:text="@string/btnCash" />
<Space
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.34" />
<Button
android:id="@+id/btnCredit"
style="@style/ButtonText"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_column="1"
android:layout_row="3"
android:layout_weight="1"
android:width="10dp"
android:background="@color/flatui_blue"
android:text="@string/btnCredit" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
......@@ -10,7 +11,7 @@
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_width="386dp"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
......@@ -18,7 +19,7 @@
android:layout_gravity="center_horizontal" />
<TextView
android:layout_width="68dp"
android:layout_width="229dp"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="1.0"
......@@ -26,4 +27,11 @@
</LinearLayout>
<ImageButton
android:id="@+id/imageButton"
android:layout_width="match_parent"
android:layout_height="63dp"
android:onClick="removeOrderOnClickHandler"
app:srcCompat="@android:color/holo_red_dark" />
</LinearLayout>
\ No newline at end of file
<resources>
<string name="app_name">WarpDrink</string>
<string name="hello_world">Hello world!</string>
<string name="txtTotalAmountConfirm">Gesamtbetrag: %1$,.2f </string>
<string name="action_settings">Settings</string>
<string name="btnCash">Bar</string>
<string name="btnCredit">Guthaben</string>
<string name="btnFiveEuro">5 €</string>
<string name="btnTenEuro">10 €</string>
<string name="btnTwentyEuro">20 €</string>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment