private string rowId(IEnumerable <string> parameters, DataSheet dataSheet, UnformattedRow row) { return(string .Join( ",", parameters.Select(parameter => { var elementColumn = dataSheet.GetColumnDescription(parameter); return elementColumn != null ? row.Data.ElementAt(elementColumn.Index) : parameter; }) )); }
private SimulationPoint parseMappingOnSameGivenColumn(MappingDataFormatParameter currentParameter, DataSheet dataSheet, UnformattedRow row) { var lloqIndex = string.IsNullOrWhiteSpace(currentParameter.MappedColumn.LloqColumn) ? -1 : dataSheet.GetColumnDescription(currentParameter.MappedColumn.LloqColumn).Index; var unit = currentParameter.MappedColumn.Unit.ExtractUnit(columnName => dataSheet.GetColumnDescription(columnName).Index, row.Data); if (lloqIndex < 0 || !double.TryParse(row.Data.ElementAt(lloqIndex).Trim(), out var lloq)) { lloq = double.NaN; } var columnDescription = dataSheet.GetColumnDescription(currentParameter.ColumnName); var element = row.Data.ElementAt(columnDescription.Index).Trim(); if (double.TryParse(element, out var result)) { return new SimulationPoint() { Measurement = result, Lloq = lloq, Unit = unit } } ; return(new SimulationPoint() { Measurement = double.NaN, Lloq = lloq, Unit = unit }); }
private SimulationPoint parseMappingOnSameColumn(MappingDataFormatParameter currentParameter, DataSheet dataSheet, UnformattedRow row) { var columnDescription = dataSheet.GetColumnDescription(currentParameter.ColumnName); var element = row.Data.ElementAt(columnDescription.Index).Trim(); if (!currentParameter.MappedColumn.Unit.ColumnName.IsNullOrEmpty()) { ColumnDescription unitColumnDescription = null; if (!string.IsNullOrEmpty(currentParameter.MappedColumn.Unit.ColumnName)) { unitColumnDescription = dataSheet.GetColumnDescription(currentParameter.MappedColumn.Unit.ColumnName); } if (unitColumnDescription == null) { throw new MissingColumnException(dataSheet.SheetName, currentParameter.MappedColumn.Unit.ColumnName); } } var unit = currentParameter.MappedColumn.Unit.ExtractUnit(columnName => dataSheet.GetColumnDescription(columnName).Index, row.Data); if (double.TryParse(element, out var result)) { return new SimulationPoint() { Measurement = result, Unit = unit, Lloq = double.NaN } } ; if (element.StartsWith("<")) { result = element.Substring(1).ConvertedTo <double>(); return(new SimulationPoint() { Lloq = result, Unit = unit }); } return(new SimulationPoint() { Measurement = double.NaN, Unit = unit }); }