new Cache <string, ColumnDescription>(); //we have to ensure headers and RawSheetData sizes match public DataSheet(DataSheet reference) { _headers = new Cache <string, ColumnDescription>(); foreach (var header in reference.GetHeaders()) { _headers.Add(header, reference.GetColumnDescription(header)); } _rawDataTable = new List <List <string> >(); SheetName = reference.SheetName; }
public ParsedDataSet( IEnumerable <string> groupingParameters, DataSheet columnHandler, IEnumerable <UnformattedRow> rawData, Dictionary <ExtendedColumn, IList <SimulationPoint> > parsedData ) { Description = groupingParameters.Select(x => { //All rows should share the same value for the groupingParameters var columnDescription = columnHandler.GetColumnDescription(x); var columnValue = columnDescription != null ? rawData.First().Data.ElementAt(columnDescription.Index) : x; return(new InstantiatedMetaData() { Id = columnDescription?.Index ?? -1,//-1 stands for no real position Value = columnValue }); } ); Data = parsedData; }