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); }
public void LoadSettings() { var doc = new XmlDocument(); doc.Load(string.Format("{0}\\settings.xml", ExecutablePath.ExecPath)); PropertyXMLTagAttribute.InitObjectProperties(this, doc.DocumentElement); }
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); } }
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); }
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); } }
/// <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); } }
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); }
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); }
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; } }
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); }
/// <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); }
public void LoadProperties(XmlElement tabNode) { PropertyXMLTagAttribute.InitObjectProperties(this, tabNode); }