public TableExtractionTask(IEnumerable <TableExtractionTask> childTasks) { TableExtractionTask first = childTasks.First(); ChildTasks.AddRange(childTasks); ExtractorName = first.ExtractorName; Comment = "Merged extraction task [" + String.Concat(childTasks.Select(x => x.name)) + "]"; ExtraInfoEntries.Add("pIndex", first.ExtraInfoEntries.GetStringValue("pIndex", "_")); var taskIndexList = childTasks.Select(x => ExtraInfoEntries.GetStringValue("taskIndex", "")).ToList(); String pIndex = ExtraInfoEntries.GetStringValue("pIndex", "_"); String tIndex = taskIndexList.toCsvInLine("-"); ExtraInfoEntries.Add("taskIndex", tIndex); name = pIndex + first.ExtractorName + tIndex; }
public DataTable GetTaskExecutionScoreReport(TableExtractionTask task) { DataTable table = new DataTable(task.name + "exe"); var column_sourceFilepath = table.Columns.Add("sourceFilepath").SetWidth(60).SetHeading("Source filepath"); var column_sourceTable_width = table.Columns.Add("sourceTable_width").SetWidth(5).SetHeading("st_w").SetDesc("Source table width"); var column_sourceTable_height = table.Columns.Add("sourceTable_height").SetWidth(5).SetHeading("st_h"); var column_metaTable_entries = table.Columns.Add("metaTable_entries").SetWidth(5).SetHeading("mt_e"); var column_metaTable_properties = table.Columns.Add("metaTable_properties").SetWidth(5).SetHeading("mt_p"); var column_index_entryID = table.Columns.Add("index_entryID").SetWidth(5).SetHeading("e_id"); var column_index_propertyID = table.Columns.Add("index_propertyID").SetWidth(5).SetHeading("p_id"); var column_valueZoneY = table.Columns.Add("valueZoneY").SetWidth(5).SetHeading("vz_y"); var column_valueZoneX = table.Columns.Add("valueZoneX").SetWidth(5).SetHeading("vz_x"); var column_format = table.Columns.Add("format").SetWidth(20).SetHeading("Format"); foreach (TableExtractionTaskScoreEntry source in task.score.TaskRuns) { // if (!source.IsReportEnabled) continue; var dr = table.NewRow(); FileInfo fi = new FileInfo(source.source.filepath); String fp = fi.Directory.Name.add(fi.Name, Path.DirectorySeparatorChar); dr[column_sourceFilepath] = fp; if (source.metaTable != null) { dr[column_metaTable_properties] = source.metaTable.Sum(x => x.properties.Count); //.metaTable_properties; dr[column_metaTable_entries] = source.metaTable.Sum(x => x.entries.Count); // .metaTable_entries; } if (source.sourceTable != null) { dr[column_sourceTable_height] = source.sourceTable.Average(x => x.Height); //.sourceTable_height; dr[column_sourceTable_width] = source.sourceTable.Average(x => x.Width); //.sourceTable_width; } if (source.metaTableDescription != null) { dr[column_index_entryID] = source.metaTableDescription.index_entryID; dr[column_index_propertyID] = source.metaTableDescription.index_propertyID; dr[column_valueZoneX] = source.metaTableDescription.sourceDescription.valueZone.x; dr[column_valueZoneY] = source.metaTableDescription.sourceDescription.valueZone.y; dr[column_format] = source.metaTableDescription.format; } //dr[column_Executed] = source.score.ExecutionCount; //dr[column_MetaCreated] = source.score.TaskRuns.Count(x => x.MetaTableCreated); //.MetaTableCreated; //dr[column_Properties] = source.PropertyDictionary.items.Count; //. .MetaTableEntries; //dr[column_SourceCreated] = source.score.TaskRuns.Count(x => x.SourceTableCreated); table.Rows.Add(dr); } table.AddExtra("Task: " + task.name); if (!task.Comment.isNullOrEmpty()) { table.AddExtra("Comment: " + task.Comment); } table.AddExtra("Extractor: " + task.ExtractorName); return(table); }