Ejemplo n.º 1
0
        public void ReadXmlElectricity()
        {
            // во всех классах счетчиков примерно одно и то же
            // Подгрузка пути
            PathXml     pathXml = new PathXml();
            string      way     = pathXml.ElectricityRelativePathToXml();
            XmlDocument xDoc    = new XmlDocument();

            try
            {
                xDoc.Load(way); // проверка существования документа XML
            }
            catch (Exception e)
            {
                Console.WriteLine("Неверный путь к XML файлу:" + e.Message);
                Console.ReadLine();
            }

            //Чтение XML
            XmlElement  xRoot    = xDoc.DocumentElement;
            XmlNodeList nodeList = xDoc.DocumentElement.SelectNodes("/counters/counter");

            foreach (XmlNode xnode in nodeList)
            {
                // запись настроек счетчика в экземляр класса parametrs
                ElectricityXmlDoc parametrs = new ElectricityXmlDoc();
                parametrs.id        = Convert.ToInt32(xnode.SelectSingleNode("id").InnerText);
                parametrs.IP        = xnode.SelectSingleNode("IP").InnerText;
                parametrs.name      = xnode.SelectSingleNode("name").InnerText;
                parametrs.interview = xnode.SelectSingleNode("interview").InnerText;
                if (parametrs.interview == "-")
                {
                    continue;
                }                                             // если - пропуск итерации
                parametrs.zone    = xnode.SelectSingleNode("zone").InnerText;
                parametrs.comment = xnode.SelectSingleNode("comment").InnerText;

                Task.Factory.StartNew(() => SaveDocsElectricity(parametrs));
            }

            ProductionLineWrite productionLine = new ProductionLineWrite();

            Task.Factory.StartNew(() => productionLine.SaveDocsProductionLine(64, 65, 66, "Electricity"));

            return;
        }
Ejemplo n.º 2
0
        public void ReadXmlWater()
        {
            PathXml     pathXml = new PathXml();
            string      way     = pathXml.WaterRelativePathToXml();
            XmlDocument xDoc    = new XmlDocument();

            try
            {
                xDoc.Load(way);
            }
            catch (Exception e)
            {
                Console.WriteLine("Неверный путь к XML файлу:" + e.Message);
                Console.ReadLine();
            }
            XmlElement  xRoot    = xDoc.DocumentElement;
            XmlNodeList nodeList = xDoc.DocumentElement.SelectNodes("/counters/counter");

            foreach (XmlNode xnode in nodeList)
            {
                Water_XmlDoc parametrs = new Water_XmlDoc();
                parametrs.id        = Convert.ToInt32(xnode.SelectSingleNode("id").InnerText);
                parametrs.name      = xnode.SelectSingleNode("name").InnerText;
                parametrs.interview = xnode.SelectSingleNode("interview").InnerText;
                if (parametrs.interview == "-")
                {
                    continue;
                }
                parametrs.DB      = Convert.ToInt32(xnode.SelectSingleNode("db").InnerText);
                parametrs.address = Convert.ToInt32(xnode.SelectSingleNode("address").InnerText);
                parametrs.length  = Convert.ToInt32(xnode.SelectSingleNode("length").InnerText);
                parametrs.IP      = xnode.SelectSingleNode("IP").InnerText;
                parametrs.port    = Convert.ToInt32(xnode.SelectSingleNode("port").InnerText);
                parametrs.rack    = Convert.ToInt32(xnode.SelectSingleNode("rack").InnerText);
                parametrs.slot    = Convert.ToInt32(xnode.SelectSingleNode("slot").InnerText);

                Task.Factory.StartNew(() => SaveDocsWater(parametrs));
            }

            ProductionLineWrite productionLine = new ProductionLineWrite();

            Task.Factory.StartNew(() => productionLine.SaveDocsProductionLine(19, 20, 21, "Water"));

            return;
        }