private IReadOnlyList <ColumnPathMolecule> columnsByPath(CurveDataTemplate dataTemplate) { Func <ColumnPath, bool> match = x => string.Equals(x.Path, dataTemplate.Path) && x.QuantityType.Is(dataTemplate.QuantityType); return(_allColumnsByPath.Where(match).Select(x => x.ToColumnPathMolecule(MatchType.Exact)).ToList()); }
private IReadOnlyList <ColumnPathMolecule> columnsMatchingPattern(CurveDataTemplate dataTemplate) { var pattern = _keyPathMapper.MapFrom(dataTemplate.Path, dataTemplate.QuantityType, removeFirstEntry: false); Func <DataColumn, bool> match = c => string.Equals(_keyPathMapper.MapFrom(c), pattern.Path) && c.QuantityInfo.Type.Is(dataTemplate.QuantityType); return(_allColumnsByPath.Where(x => match(x.Column)).Select(x => x.ToColumnPathMolecule(MatchType.Pattern, pattern.Molecule)).ToList()); }
private void updateCurveData(CurveDataTemplate data, DataColumn dataColumn) { data.QuantityType = dataColumn.QuantityInfo.Type; data.Path = dataColumn.TemplatePath; data.RepositoryName = dataColumn.Repository?.Name; }