package com.floreantpos.report;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import com.floreantpos.model.Ticket;
public class TicketReportModel extends AbstractTableModel {
private static DecimalFormat formatter = new DecimalFormat("#,##0.00");
private static SimpleDateFormat dateFormat = new SimpleDateFormat("dd MMM, yyyy");
// private String currencySymbol;
private String[] columnNames = {"id", "date", "tableNum", "status", "total"};
private List<Ticket> items;
public TicketReportModel() {
super();
}
public int getRowCount() {
if(items == null) return 0;
return items.size();
}
public int getColumnCount() {
return columnNames.length;
}
@Override
public String getColumnName(int column) {
return columnNames[column];
}
public Object getValueAt(int rowIndex, int columnIndex) {
Ticket ticket = items.get(rowIndex);
switch(columnIndex) {
case 0:
return String.valueOf(ticket.getId());
case 1:
return dateFormat.format(ticket.getCreateDate());
case 2:
return String.valueOf(ticket.getTableNumber());
case 3:
if(ticket.isClosed()) {
return "Closed";
}
return "Open";
case 4:
return formatter.format(ticket.getTotalAmount());
}
return null;
}
public List<Ticket> getItems() {
return items;
}
public void setItems(List<Ticket> items) {
this.items = items;
}
}