public List<FieldDefinitionRecord> GetFieldRecords(TableDefinitionRecord record) { var results = new List<FieldDefinitionRecord>(); for (var i = 0; i < KeyField.Length; i++) { results.Add(record.Fields[i]); } return results; }
public virtual T Visit(TableDefinitionRecord record) { return(default(T)); }
public DataRecordVisitor(TableDefinitionRecord tableDefinition) { _tableDefinition = tableDefinition; }
public List <DataRecord> GetDataRecords(TableDefinitionRecord tableDefinition) { return(Accept(new DataRecordVisitor(tableDefinition))); }
private IEnumerable <(int recordNumber, IReadOnlyDictionary <string, TpsObject> nameValuePairs)> GatherMemoRecords(int table, TableDefinitionRecord tableDefinitionRecord, bool ignoreErrors) { return(Enumerable.Range(0, tableDefinitionRecord.Memos.Count()) .SelectMany(index => { var definition = tableDefinitionRecord.Memos[index]; var memoRecordsForIndex = TpsFile.GetMemoRecords(table, index, ignoreErrors); return memoRecordsForIndex.Select(record => (owner: record.Header.OwningRecord, name: definition.Name, value: record.GetValue(definition))); }) .GroupBy(pair => pair.owner, pair => (pair.name, pair.value)) .Select(groupedPair => ( groupedPair.Key, (IReadOnlyDictionary <string, TpsObject>)groupedPair .ToDictionary(pair => pair.name, pair => pair.value)))); }
private IEnumerable <(int recordNumber, IReadOnlyDictionary <string, TpsObject> nameValuePairs)> GatherDataRecords(int table, TableDefinitionRecord tableDefinitionRecord, bool ignoreErrors) { var dataRecords = TpsFile.GetDataRecords(table, tableDefinition: tableDefinitionRecord, ignoreErrors); return(dataRecords.Select(r => (r.RecordNumber, r.GetFieldValuePairs()))); }