Пример #1
0
        public static List <BaseRobot> LoadRobots()
        {
            var listRobots = new List <BaseRobot>();
            var fileName   = string.Format("{0}\\{1}", ExecutablePath.ExecPath, RobotFileName);

            if (!File.Exists(fileName))
            {
                return(listRobots);
            }

            try
            {
                var doc = new XmlDocument();
                doc.Load(fileName);
                var node  = doc.SelectSingleNode("RobotsPortfolio");
                var nodes = node.SelectNodes("robot");

                foreach (XmlElement item in nodes)
                {
                    var inodes = item.SelectNodes("Robot.TypeName");
                    var inode  = (XmlElement)inodes[0];
                    var title  = inode.Attributes["value"].Value;
                    var robot  = RobotCollection.MakeRobot(title);
                    PropertyXMLTagAttribute.InitObjectProperties(robot, item);
                    listRobots.Add(robot);
                }
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat("Ошибка чтения файла \"{0}\": {1}", fileName, ex);
            }
            return(listRobots);
        }
Пример #2
0
        public void LoadSettings()
        {
            var doc = new XmlDocument();

            doc.Load(string.Format("{0}\\settings.xml", ExecutablePath.ExecPath));
            PropertyXMLTagAttribute.InitObjectProperties(this, doc.DocumentElement);
        }
Пример #3
0
        private void LoadSettings()
        {
            var fileName = ExecutablePath.ExecPath + "\\ChatSettings.xml";

            if (!File.Exists(fileName))
            {
                return;
            }
            var doc = new XmlDocument();

            try
            {
                doc.Load(fileName);
                if (doc.DocumentElement == null)
                {
                    return;
                }
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat("Ошибка загрузки документа настроек \"{0}\": {1}", fileName, ex);
                return;
            }
            try
            {
                PropertyXMLTagAttribute.InitObjectProperties(this, doc.DocumentElement);
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat("Ошибка применения документа настроек \"{0}\": {1}", fileName, ex);
            }
        }
        public void ReadRobotsSettings(string xmlPath)
        {
            if (!File.Exists(xmlPath))
            {
                return;
            }

            gridRobot.rows.Clear();
            try
            {
                var doc = new XmlDocument();
                doc.Load(xmlPath);
                var node  = doc.SelectSingleNode("RobotsPortfolio");
                var nodes = node.SelectNodes("robot");

                var robots = new List <RobotGridItem>();
                foreach (XmlElement item in nodes)
                {
                    var inodes = item.SelectNodes("Robot.TypeName");
                    var inode  = (XmlElement)inodes[0];
                    var title  = inode.Attributes["value"].Value;
                    var robot  = RobotCollection.MakeRobot(title);
                    PropertyXMLTagAttribute.InitObjectProperties(robot, item, false);
                    robots.Add(new RobotGridItem(robot, true));
                }
                gridRobot.DataBind(robots);
            }
            catch (Exception ex)
            {
                Logger.Error("Ошибка чтения файла настроек портфеля роботов: ", ex);
            }
        }
Пример #5
0
 protected virtual TerminalScript LoadScriptFromXml(XmlElement node)
 {
     try
     {
         PropertyXMLTagAttribute.InitObjectProperties(this, node);
         var triggers = node.GetElementsByTagName("trigger");
         if (triggers.Count > 0)
         {
             Trigger = TerminalScriptTrigger.LoadFromXml((XmlElement)triggers[0]);
         }
     }
     catch (Exception ex)
     {
         Logger.ErrorFormat("Error while LoadScriptFromXml() for \"{0}\": {1}",
                            ScriptName, ex);
         return(null);
     }
     return(this);
 }
Пример #6
0
        public void LoadSettings()
        {
            var doc = new XmlDocument();

            if (!File.Exists(fileName))
            {
                SaveSettings();
                return;
            }

            try
            {
                doc.Load(fileName);
                PropertyXMLTagAttribute.InitObjectProperties(this, doc.DocumentElement);
            }
            catch (Exception ex)
            {
                Logger.Error("LoadSettings()", ex);
            }
        }
Пример #7
0
        /// <summary>
        /// закрытый конструктор - читает настройки из файла
        /// </summary>
        private SiteSettings()
        {
            // прочитать файл настроек
            if (!File.Exists(filePath))
            {
                return;
            }

            var doc = new XmlDocument();

            try
            {
                lock (this)
                {
                    doc.Load(filePath);
                }
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat("Ошибка чтения файла настроек {0} - невозможно загрузить документ: {1}",
                                   filePath, ex);
                return;
            }

            if (doc.DocumentElement == null)
            {
                return;
            }
            try
            {
                lock (this)
                {
                    PropertyXMLTagAttribute.InitObjectProperties(this, doc.DocumentElement);
                }
            }
            catch (Exception ex)
            {
                Logger.Error("Ошибка применения настроек из файла", ex);
            }
        }
Пример #8
0
        public static ServiceMap LoadSettings()
        {
            var sets = new ServiceMap();

            // прочитать файл
            if (!File.Exists(fileName))
            {
                return(sets);
            }
            var doc = new XmlDocument();

            try
            {
                doc.Load(fileName);
            }
            catch
            {
                return(sets);
            }

            PropertyXMLTagAttribute.InitObjectProperties(sets, doc.DocumentElement);
            return(sets);
        }
Пример #9
0
        public void LoadProperties()
        {
            // прочитать файл
            var fileName = ExecutablePath.ExecPath + TerminalEnvironment.UserSettingsFileName;

            if (!File.Exists(fileName))
            {
                return;
            }
            var doc = new XmlDocument();

            try
            {
                doc.Load(fileName);
            }
            catch
            {
                return;
            }
            // загрузить из документа
            PropertyXMLTagAttribute.InitObjectProperties(this, doc.DocumentElement);
            LoadLoginPassword(doc);
        }
Пример #10
0
        private static List <BaseRobot> MakeRobots(XmlElement accountNode)
        {
            var robots = new List <BaseRobot>();

            try
            {
                foreach (XmlElement robotNode in accountNode.GetElementsByTagName("robot"))
                {
                    var inodes = robotNode.SelectNodes("Robot.TypeName");
                    var inode  = (XmlElement)inodes[0];
                    var title  = inode.Attributes["value"].Value;
                    var robot  = RobotCollection.MakeRobot(title);
                    PropertyXMLTagAttribute.InitObjectProperties(robot, robotNode, false);
                    robots.Add(robot);
                }
                return(robots);
            }
            catch (Exception ex)
            {
                Logger.Error("Error in MakeRobots()", ex);
                throw;
            }
        }
Пример #11
0
 public int LoadRobots(XmlElement node)
 {
     robots.Clear();
     try
     {
         var nodes = node.SelectNodes("robot");
         // ReSharper disable PossibleNullReferenceException
         foreach (XmlElement item in nodes)
         {
             var inodes = item.SelectNodes("Robot.TypeName");
             var inode  = (XmlElement)inodes[0];
             // ReSharper restore PossibleNullReferenceException
             var title = inode.Attributes["value"].Value;
             var robot = RobotCollection.MakeRobot(title);
             PropertyXMLTagAttribute.InitObjectProperties(robot, item, false);
             robots.Add(robot);
         }
     }
     catch (Exception ex)
     {
         Logger.Error("Ошибка чтения файла настроек портфеля роботов: ", ex);
     }
     return(robots.Count);
 }
Пример #12
0
        /// <summary>
        /// загрузить из XML-файла конфигурации настройки "фермы" -
        /// счета
        /// </summary>
        public void LoadSettings()
        {
            if (!File.Exists(configFilePath))
            {
                return;
            }
            var doc = new XmlDocument();

            try
            {
                using (var sr = new StreamReader(configFilePath, Encoding.UTF8))
                    doc.Load(sr);
            }
            catch (Exception ex)
            {
                var msgError = "RobotFarm.LoadSettings() - ошибка чтения файла настроек " + configFilePath +
                               ", " + ex;
                Logger.Error(msgError);
                AppendLogMessage(msgError);
                return;
            }
            if (doc.DocumentElement == null)
            {
                return;
            }

            // настройки авто-торговли
            var nodeTradeSets =
                doc.DocumentElement.ChildNodes.Cast <XmlNode>().FirstOrDefault(n => n.Name == TradeSettingsNodeName);

            if (nodeTradeSets != null)
            {
                portfolioTradeSettings.LoadTradeSettings((XmlElement)nodeTradeSets);
                Logger.InfoFormat("Настройки портфеля: торговать={0}, %плеча={1:f0}, макс. плечо={2:f1}",
                                  portfolioTradeSettings.TradeAuto, portfolioTradeSettings.PercentLeverage,
                                  portfolioTradeSettings.MaxLeverage ?? 0);
            }

            try
            {
                PropertyXMLTagAttribute.InitObjectProperties(this, doc.DocumentElement);
                // подгрузить роботов
                foreach (XmlElement nodeAcc in doc.DocumentElement.ChildNodes)
                {
                    var acIdNode = (XmlElement)nodeAcc.SelectSingleNode("AccountId");
                    if (acIdNode == null)
                    {
                        continue;
                    }
                    var acId = acIdNode.Attributes["value"] == null
                                   ? -1
                                   : (acIdNode.Attributes["value"].Value.ToIntSafe() ?? -1);
                    var account = Accounts.FirstOrDefault(a => a.AccountId == acId);
                    if (account != null)
                    {
                        account.LoadRobots(nodeAcc);
                    }
                }
            }
            catch (Exception ex)
            {
                var msgError = "RobotFarm.LoadSettings() - ошибка применения настроек " + ex;
                Logger.Error(msgError);
                AppendLogMessage(msgError);
            }
            var accsLoaded = Accounts;
            var msg        = string.Format("Настройки успешно применены, загружено {0} счетов, {1} роботов",
                                           accsLoaded.Count, accsLoaded.Sum(a => a.Robots.Count));

            Logger.InfoFormat(msg);
            AppendLogMessage(msg);
        }
Пример #13
0
 public void LoadProperties(XmlElement tabNode)
 {
     PropertyXMLTagAttribute.InitObjectProperties(this, tabNode);
 }