public class Cell
{
private int cell_id;
private string cell_name;
private string cell_supervisor;
private double cell_target;
private double cell_routing_target, cell_attended_target, cell_lost_time_target, cell_unaccounted_time_target, cell_absence_target;
private List<string> cell_machinists;
private List<double> cell_routing_actual, cell_attended_actual, cell_lost_time_actual, cell_unaccounted_time_actual, cell_absence_actual;
private List<int> cell_ncr_qty;
private List<double> cell_ncr_cost;
private List<int> cell_timelost;
public Cell(int id, string name, double target)
{
cell_id = id;
cell_name = name;
cell_target = target;
}
public void setSupervisor(string name){
cell_supervisor = name;
}
public void setTargets(double routings, double attended, double losttime, double unacccounted, double abscence)
{
cell_routing_target = routings;
cell_attended_target = attended;
cell_lost_time_target = losttime;
cell_unaccounted_time_target = unacccounted;
cell_absence_target = abscence;
}
public void setMachinist(string name, double routings, double attended, double lost_time, double unaccounted_time, int ncr_qty, double ncr_cost, int time_lost, double absence)
{
cell_machinists.Add(name);
cell_routing_actual.Add(routings);
cell_attended_actual.Add(attended);
cell_lost_time_actual.Add(lost_time);
cell_unaccounted_time_actual.Add(unaccounted_time);
cell_ncr_qty.Add(ncr_qty);
cell_ncr_cost.Add(ncr_cost);
cell_timelost.Add(time_lost);
cell_absence_actual.Add(absence);
}
public string CellName
{
get {
return cell_name;
}
}
public string Supervisor
{
get
{
return cell_supervisor;
}
}
public List<string> Machinists
{
get
{
return cell_machinists;
}
}
}
Use nested lists and sub reports is the short answer!