using System; using System.Collections.Generic; namespace Adaptation.FileHandlers.json; public class Calibration { public int NumberOfCalibrationSets { get; } public List DataSets { get; } internal Calibration(csv.Calibration calibration) { DataSet dataSet; Position position; List positions; List dataSets = new(); NumberOfCalibrationSets = int.Parse(calibration.NumberOfCalibrationSets); DataSets = dataSets; foreach (csv.DataSet csvDataSet in calibration.DataSets) { positions = new(); foreach (csv.Position csvPosition in csvDataSet.Positions) { position = new ( resistivity: double.Parse(csvPosition.Resistivity), resistance: double.Parse(csvPosition.Resistance), percentStandardDeviation: double.Parse(csvPosition.PercentStandardDeviation), number: int.Parse(csvPosition.Number), name: csvPosition.Name ); positions.Add(position); } dataSet = new ( @operator: csvDataSet.Operator, dateTime: DateTime.Parse(csvDataSet.DateTime), finish: csvDataSet.Finish, orientation: csvDataSet.Orientation, northProbeID: csvDataSet.NorthProbeID, southProbeID: csvDataSet.SouthProbeID, polarity: csvDataSet.Polarity, contactRadius: double.Parse(csvDataSet.ContactRadius), probeSpacing: double.Parse(csvDataSet.ProbeSpacing), load: double.Parse(csvDataSet.Load), xStep: double.Parse(csvDataSet.XStep), name: csvDataSet.Name, plateId: csvDataSet.PlateId, type: csvDataSet.Type, pointsPerSample: int.Parse(csvDataSet.PointsPerSample), numberOfPairs: int.Parse(csvDataSet.NumberOfPairs), positions: positions ); dataSets.Add(dataSet); } } }