EKG_Project.IO.HRV1_Data_Worker.Load C# (CSharp) Method

Load() public method

public Load ( ) : void
return void
        public void Load()
        {
            HRV1_Data basicData = new HRV1_Data();
            XMLConverter converter = new XMLConverter(analysisName);

            XmlDocument file = new XmlDocument();
            string fileName = analysisName + "_Data.xml";
            file.Load(System.IO.Path.Combine(directory, fileName));

            XmlNodeList modules = file.SelectNodes("EKG/module");

            string moduleName = this.GetType().Name;
            moduleName = moduleName.Replace("_Data_Worker", "");

            foreach (XmlNode module in modules)
            {
                if (module.Attributes["name"].Value == moduleName)
                {
                    List<Tuple<string, Vector<double>>> list = new List<Tuple<string, Vector<double>>>();
                    XmlNodeList nodes = module.SelectNodes("TimeBasedParams");
                    foreach (XmlNode node in nodes)
                    {
                        XmlNode lead = node["lead"];
                        string readLead = lead.InnerText;

                        XmlNode samples = node["samples"];
                        string readSamples = samples.InnerText;
                        Vector<double> readDigits = converter.stringToVector(readSamples);

                        Tuple<string, Vector<double>> read = Tuple.Create(readLead, readDigits);
                        list.Add(read);
                    }
                    basicData.TimeBasedParams = list;

                    List<Tuple<string, Vector<double>>> FreqBasedParams = new List<Tuple<string, Vector<double>>>();
                    XmlNodeList freqBasedParams = module.SelectNodes("FreqBasedParams");
                    foreach (XmlNode node in freqBasedParams)
                    {
                        XmlNode lead = node["lead"];
                        string readLead = lead.InnerText;

                        XmlNode samples = node["samples"];
                        string readSamples = samples.InnerText;
                        Vector<double> readDigits = converter.stringToVector(readSamples);

                        Tuple<string, Vector<double>> read = Tuple.Create(readLead, readDigits);
                        FreqBasedParams.Add(read);
                    }
                    basicData.FreqBasedParams = FreqBasedParams;

                    List<Tuple<string, Vector<double>>> RInstants = new List<Tuple<string, Vector<double>>>();
                    XmlNodeList rInstants = module.SelectNodes("RInstants");
                    foreach (XmlNode node in rInstants)
                    {
                        XmlNode lead = node["lead"];
                        string readLead = lead.InnerText;

                        XmlNode samples = node["samples"];
                        string readSamples = samples.InnerText;
                        Vector<double> readDigits = converter.stringToVector(readSamples);

                        Tuple<string, Vector<double>> read = Tuple.Create(readLead, readDigits);
                        RInstants.Add(read);
                    }
                    basicData.RInstants = RInstants;

                    List<Tuple<string, Vector<double>>> RRIntervals = new List<Tuple<string, Vector<double>>>();
                    XmlNodeList rrIntervals = module.SelectNodes("RRIntervals");
                    foreach (XmlNode node in rrIntervals)
                    {
                        XmlNode lead = node["lead"];
                        string readLead = lead.InnerText;

                        XmlNode samples = node["samples"];
                        string readSamples = samples.InnerText;
                        Vector<double> readDigits = converter.stringToVector(readSamples);

                        Tuple<string, Vector<double>> read = Tuple.Create(readLead, readDigits);
                        RRIntervals.Add(read);
                    }
                    basicData.RRIntervals = RRIntervals;
                }
            }
            this.Data = basicData;
        }