Esempio n. 1
0
        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));
 }