Files
DP44/Common/DTS.Common.Import/.svn/pristine/dc/dc294458dc8ac4fb6d44fd858ca46654c89e733a.svn-base
2026-04-17 14:55:32 -04:00

44 lines
1.4 KiB
Plaintext

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using DTS.Common.Enums.DBExport;
using DTS.Common.Import.Interfaces;
using DTS.SensorDB;
namespace DTS.Common.Import.XML
{
public class XMLPre20ParseSensors : XMLParseBase
{
private readonly XMLParseSensors _xmlParseSensors;
public XMLPre20ParseSensors(XmlElement root, double importedVersion, XMLParseSensors xmlParseSensors, Func<bool> isCancelled = null) : base(root, importedVersion, isCancelled)
{
_xmlParseSensors = xmlParseSensors;
}
public override void Parse(ref ImportObject importObject)
{
var sensors = _xmlParseSensors.ParseSensors(_root);
var newRoot = MigrateSensors(sensors);
importObject.AddSensors(_xmlParseSensors.ParseSensors(newRoot));
}
public XmlElement MigrateSensors(IEnumerable<SensorData> sensors)
{
_writer.WriteStartElement(TopLevelFields.Sensors.ToString());
var count = -1;
foreach (var sd in sensors)
{
sd.DatabaseId = count;
count--;
_writer.Flush();
sd.WriteXML(ref _writer);
_writer.Flush();
}
_writer.WriteEndElement();
return GetXmlElement();
}
}
}