public ObservableCollection <ADIFRecord> ProcessRecords(ObservableCollection <ADIFRecord> records) { //Sort the records by Field count descending var sortedRecords = records.OrderByDescending(r => r.Fields.Count).ToList(); var columns = sortedRecords.FirstOrDefault(); var processedRecords = new ObservableCollection <ADIFRecord>(); var processedFields = new ObservableCollection <ADIFField>(); if (columns == null) { return(new ObservableCollection <ADIFRecord>()); } foreach (var record in records) { processedFields = new ObservableCollection <ADIFField>(); foreach (var column in columns.Fields) { var adifField = new ADIFField() { Name = column.Name }; foreach (var field in record.Fields) { if (column.Name == field.Name) { adifField.Length = field.Length; adifField.Type = field.Type; adifField.Value = field.Value; break; } } processedFields.Add(adifField); } processedRecords.Add( new ADIFRecord() { Fields = processedFields } ); } return(processedRecords); }
public void AppendRow(Row row, ADIFField field) { row.Append(ConstructCell(field.Value, CellValues.String)); }