package com.refresh.pos.ui.sale;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Build;
import android.os.Bundle;
import android.view.MenuItem;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import com.refresh.pos.R;
import com.refresh.pos.domain.inventory.LineItem;
import com.refresh.pos.domain.sale.Sale;
import com.refresh.pos.domain.sale.SaleLedger;
import com.refresh.pos.techicalservices.NoDaoSetException;
/**
* UI for showing the detail of Sale in the record.
* @author Refresh Team
*
*/
public class SaleDetailActivity extends Activity{
private TextView totalBox;
private TextView dateBox;
private ListView lineitemListView;
private List<Map<String, String>> lineitemList;
private Sale sale;
private int saleId;
private SaleLedger saleLedger;
@Override
public void onCreate(Bundle savedInstanceState) {
try {
saleLedger = SaleLedger.getInstance();
} catch (NoDaoSetException e) {
e.printStackTrace();
}
saleId = Integer.parseInt(getIntent().getStringExtra("id"));
sale = saleLedger.getSaleById(saleId);
initUI(savedInstanceState);
}
/**
* Initiate actionbar.
*/
@SuppressLint("NewApi")
private void initiateActionBar() {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setTitle(getResources().getString(R.string.sale));
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#33B5E5")));
}
}
/**
* Initiate this UI.
* @param savedInstanceState
*/
private void initUI(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_saledetail);
initiateActionBar();
totalBox = (TextView) findViewById(R.id.totalBox);
dateBox = (TextView) findViewById(R.id.dateBox);
lineitemListView = (ListView) findViewById(R.id.lineitemList);
}
/**
* Show list.
* @param list
*/
private void showList(List<LineItem> list) {
lineitemList = new ArrayList<Map<String, String>>();
for(LineItem line : list) {
lineitemList.add(line.toMap());
}
SimpleAdapter sAdap = new SimpleAdapter(SaleDetailActivity.this, lineitemList,
R.layout.listview_lineitem, new String[]{"name","quantity","price"}, new int[] {R.id.name,R.id.quantity,R.id.price});
lineitemListView.setAdapter(sAdap);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
this.finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
/**
* Update UI.
*/
public void update() {
totalBox.setText(sale.getTotal() + "");
dateBox.setText(sale.getEndTime() + "");
showList(sale.getAllLineItem());
}
@Override
protected void onResume() {
super.onResume();
update();
}
}