public void Save(ECG_Data data)
{
if (data is Heart_Class_Data)
{
Heart_Class_Data basicData = data as Heart_Class_Data;
ECG_Worker ew = new ECG_Worker();
XmlDocument file = new XmlDocument();
string fileName = analysisName + "_Data.xml";
file.Load(System.IO.Path.Combine(directory, fileName));
XmlNode root = file.SelectSingleNode("EKG");
XmlElement module = file.CreateElement(string.Empty, "module", string.Empty);
string moduleName = this.GetType().Name;
moduleName = moduleName.Replace("_Data_Worker", "");
XmlNodeList existingModules = file.SelectNodes("EKG/module");
foreach (XmlNode existingModule in existingModules)
{
if (existingModule.Attributes["name"].Value == moduleName)
{
root.RemoveChild(existingModule);
}
}
module.SetAttribute("name", moduleName);
root.AppendChild(module);
List<Tuple<int, int>> list = basicData.ClassificationResult;
foreach (var tuple in list)
{
XmlElement moduleNode = file.CreateElement(string.Empty, "ClassificationResult", string.Empty);
module.AppendChild(moduleNode);
XmlElement item1 = file.CreateElement(string.Empty, "item1", string.Empty);
XmlText item1Value = file.CreateTextNode(tuple.Item1.ToString());
item1.AppendChild(item1Value);
moduleNode.AppendChild(item1);
XmlElement item2 = file.CreateElement(string.Empty, "item2", string.Empty);
XmlText item2Value = file.CreateTextNode(tuple.Item2.ToString());
item2.AppendChild(item2Value);
moduleNode.AppendChild(item2);
}
bool ChannelMliiDetected = basicData.ChannelMliiDetected;
XmlElement channelMliiDetected = file.CreateElement(string.Empty, "ChannelMliiDetected", string.Empty);
XmlText channelMliiDetectedValue = file.CreateTextNode(ChannelMliiDetected.ToString());
channelMliiDetected.AppendChild(channelMliiDetectedValue);
module.AppendChild(channelMliiDetected);
ew.InternalXMLFile = file;
file.Save(System.IO.Path.Combine(directory, fileName));
}
}