Beispiel #1
0
        //Загрузка настроек из LocalData
        private void ReadLocalData()
        {
            AddEvent("Загрузка настроек проекта");
            var elemRoot = XDocument.Load(LocalDir + "ConnectProperties.xml").Element("ConnectProperties");

            foreach (var elem in elemRoot.Elements())
            {
                var code = elem.GetName();
                if (SchemeConnects.ContainsKey(code))
                {
                    var con = SchemeConnects[code];
                    var el  = con.Type == ProviderType.Source ? elem.Element("SourceProvider")
                             : (con.Type == ProviderType.Receiver ? elem.Element("ReceiverProvider")
                             : null);
                    if (el != null)
                    {
                        var prInf = "";
                        foreach (var prop in el.Elements())
                        {
                            prInf += prop.GetName() + "=" + prop.GetAttr("PropValue") + ";";
                        }
                        con.JoinProviders(el.GetAttr("Provider"), prInf);
                    }
                }
            }
        }
Beispiel #2
0
        //Загрузка данных из проекта
        private void ReadProjectData()
        {
            AddEvent("Загрузка схемы проекта");
            var elemRoot = XDocument.Load(Dir + "ProjectProperties.xml").Element("ProjectProperties");

            Initialize(elemRoot.GetAttr("ProjectCode"), elemRoot.GetAttr("ProjectName"));
            foreach (var elem in elemRoot.Element("Connects").Elements())
            {
                var con = new SchemeConnect(elem.GetName().ToProviderType(), elem.GetAttr("Code"), elem.GetAttr("Complect"), elem.GetAttr("Description"));
                SchemeConnects.Add(con.Code, con);
                if (con.Type == ProviderType.Source)
                {
                    SchemeSources.Add(con.Code, con);
                }
                if (con.Type == ProviderType.Receiver)
                {
                    SchemeReceivers.Add(con.Code, con);
                }
                if (con.Type == ProviderType.Archive)
                {
                    SchemeArchives.Add(con.Code, con);
                }
            }
            if (elemRoot.Elements("Proxies").Any())
            {
                foreach (var elem in elemRoot.Element("Proxies").Elements())
                {
                    var proxy = new SchemeProxy(elem.GetName().ToProviderType(), elem.GetAttr("Code"));
                    foreach (var el in elem.Element("InConnects").Elements())
                    {
                        proxy.InConnects.Add(el.GetName());
                    }
                    foreach (var el in elem.Element("OutConnects").Elements())
                    {
                        proxy.OutConnects.Add(el.GetName());
                    }
                }
            }

            var modulesDir = new DirectoryInfo(Dir + @"Modules\");

            if (modulesDir.Exists)
            {
                foreach (var mdir in modulesDir.GetDirectories())
                {
                    SchemeModules.Add(mdir.Name, new SchemeModule(this, mdir.Name));
                }
            }
        }