using System.Collections.ObjectModel; using System.Linq; namespace Adaptation.Shared; public class ProcessDataStandardFormatMapping { public ReadOnlyCollection ColumnIndices { get; private set; } public ReadOnlyCollection NewColumnNames { get; private set; } public ReadOnlyCollection OldColumnNames { get; private set; } public ProcessDataStandardFormatMapping(ReadOnlyCollection columnIndices, ReadOnlyCollection newColumnNames, ReadOnlyCollection oldColumnNames) { ColumnIndices = columnIndices; NewColumnNames = newColumnNames; OldColumnNames = oldColumnNames; } internal static ProcessDataStandardFormatMapping Get(string processDataStandardFormatMappingOldColumnNames, string processDataStandardFormatMappingNewColumnNames, string processDataStandardFormatMappingColumnIndices) { ProcessDataStandardFormatMapping result; ReadOnlyCollection newColumnNames = new(processDataStandardFormatMappingNewColumnNames.Split(',')); ReadOnlyCollection oldColumnNames = new(processDataStandardFormatMappingOldColumnNames.Split(',')); ReadOnlyCollection columnIndices = new(processDataStandardFormatMappingColumnIndices.Split(',').Select(int.Parse).ToArray()); result = new(columnIndices: columnIndices, newColumnNames: newColumnNames, oldColumnNames: oldColumnNames); return result; } }