package com.refresh.pos.ui.sale; import android.annotation.SuppressLint; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import com.refresh.pos.R; import com.refresh.pos.domain.inventory.LineItem; import com.refresh.pos.domain.sale.Register; import com.refresh.pos.techicalservices.NoDaoSetException; import com.refresh.pos.ui.component.UpdatableFragment; /** * A dialog for edit a LineItem of sale, * overriding price or set the quantity. * @author Refresh Team * */ @SuppressLint("ValidFragment") public class EditFragmentDialog extends DialogFragment { private Register register; private UpdatableFragment saleFragment; private UpdatableFragment reportFragment; private EditText quantityBox; private EditText priceBox; private Button comfirmButton; private String saleId; private String position; private LineItem lineItem; private Button removeButton; /** * Construct a new EditFragmentDialog. * @param saleFragment * @param reportFragment */ public EditFragmentDialog(UpdatableFragment saleFragment, UpdatableFragment reportFragment) { super(); this.saleFragment = saleFragment; this.reportFragment = reportFragment; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.dialog_saleedit, container, false); try { register = Register.getInstance(); } catch (NoDaoSetException e) { e.printStackTrace(); } quantityBox = (EditText) v.findViewById(R.id.quantityBox); priceBox = (EditText) v.findViewById(R.id.priceBox); comfirmButton = (Button) v.findViewById(R.id.confirmButton); removeButton = (Button) v.findViewById(R.id.removeButton); saleId = getArguments().getString("sale_id"); position = getArguments().getString("position"); lineItem = register.getCurrentSale().getLineItemAt(Integer.parseInt(position)); quantityBox.setText(lineItem.getQuantity()+""); priceBox.setText(lineItem.getProduct().getUnitPrice()+""); removeButton.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { Log.d("remove", "id=" + lineItem.getId()); register.removeItem(lineItem); end(); } }); comfirmButton.setOnClickListener(new OnClickListener(){ @Override public void onClick(View view) { register.updateItem( Integer.parseInt(saleId), lineItem, Integer.parseInt(quantityBox.getText().toString()), Double.parseDouble(priceBox.getText().toString()) ); end(); } }); return v; } /** * End. */ private void end(){ saleFragment.update(); reportFragment.update(); this.dismiss(); } }