public void SaveSettings() { var doc = new XmlDocument(); doc.AppendChild(doc.CreateElement("settings")); PropertyXMLTagAttribute.SaveObjectProperties(this, doc.DocumentElement); var fileName = ExecutablePath.ExecPath + "\\ChatSettings.xml"; try { using (var sw = new StreamWriter(fileName, false, Encoding.Unicode)) { using (var xw = new XmlTextWriter(sw) { Formatting = Formatting.Indented }) { doc.Save(xw); } } } 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); } }
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 SaveSettings() { var doc = new XmlDocument(); doc.AppendChild(doc.CreateElement("settings")); PropertyXMLTagAttribute.SaveObjectProperties(this, doc.DocumentElement); doc.Save(string.Format("{0}\\settings.xml", ExecutablePath.ExecPath)); }
public void SaveSettings() { var doc = new XmlDocument(); doc.AppendChild(doc.CreateElement("settings")); PropertyXMLTagAttribute.SaveObjectProperties(this, doc.DocumentElement); doc.Save(fileName); }
public void GetTabSettings(XmlElement tabNode) { try { PropertyXMLTagAttribute.SaveObjectProperties(this, tabNode); } catch (Exception ex) { Logger.ErrorFormat("Ошибка сохранения конфигурации вкладки", ex); } }
public virtual XmlElement SaveInXml(XmlElement parent) { var node = (XmlElement)parent.AppendChild(parent.OwnerDocument.CreateElement("script")); node.Attributes.Append(parent.OwnerDocument.CreateAttribute("name")).Value = ScriptName; node.Attributes.Append(parent.OwnerDocument.CreateAttribute("title")).Value = Title; if (Trigger != null) { Trigger.SaveInXml(node); } PropertyXMLTagAttribute.SaveObjectProperties(this, node); return(node); }
public void SaveSettings() { var doc = new XmlDocument(); doc.AppendChild(doc.CreateElement("settings")); PropertyXMLTagAttribute.SaveObjectProperties(this, doc.DocumentElement); using (var sw = new StreamWriterLog(fileName, false, Encoding.Unicode)) { using (var xw = new XmlTextWriter(sw) { Formatting = Formatting.Indented }) { doc.Save(xw); } } }
public void SaveRobots(XmlElement rootNode) { foreach (var robot in Robots) { // ReSharper disable PossibleNullReferenceException var robotNode = (XmlElement)rootNode.AppendChild(rootNode.OwnerDocument.CreateElement("robot")); // ReSharper restore PossibleNullReferenceException try { PropertyXMLTagAttribute.SaveObjectProperties(robot, robotNode); } catch (Exception ex) { Logger.Error("Ошибка сохранения робота " + robot.GetUniqueName() + ": " + ex); } } }
/// <summary> /// сохранить настройки серий (см LoadSeriesSettingsFromXml) /// </summary> public static void SaveSeriesSettingsInXml(XmlElement nodeRoot) { var seriesTypes = InteractiveObjectSeries.GetObjectSeriesTypes(); foreach (var series in seriesTypes) { var nodeSeries = nodeRoot.OwnerDocument.CreateElement(series.Name); if (!PropertyXMLTagAttribute.SaveStaticProperties(series, nodeSeries, false)) { continue; } if (nodeSeries.ChildNodes.Count == 0) { continue; } nodeRoot.AppendChild(nodeSeries); } }
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); } }
public bool SaveSettings(XmlDocument doc) { var docNode = (XmlElement)doc.AppendChild(doc.CreateElement("farm")); try { PropertyXMLTagAttribute.SaveObjectProperties(this, docNode); } catch (Exception ex) { Logger.Error("RobotFarm.SaveSettings() - ошибка применения настроек к документу " + ex); return(false); } try { foreach (var acc in Accounts) { // сохранить роботов var accItem = (XmlElement)doc.SelectSingleNode("farm/Account/AccountId[@value='" + acc.AccountId + "']"); if (accItem == null) { continue; } acc.SaveRobots((XmlElement)accItem.ParentNode); } } catch (Exception ex) { Logger.Error("RobotFarm.SaveSettings() - ошибка сохранения роботов " + ex); return(false); } // настройки авто-торговли if (portfolioTradeSettings != null) { portfolioTradeSettings.SaveTradeSettings(docNode, TradeSettingsNodeName); } return(true); }
public void SaveSettings() { var doc = new XmlDocument(); var docNode = (XmlElement)doc.AppendChild(doc.CreateElement("settings")); try { lock (this) { PropertyXMLTagAttribute.SaveObjectProperties(this, docNode); } } catch (Exception ex) { Logger.Error("Ошибка преобразования настроек в формат XML", ex); return; } try { using (var sw = new StreamWriterLog(filePath, false, Encoding.Unicode)) { using (var xw = new XmlTextWriter(sw) { Formatting = Formatting.Indented }) { lock (this) { doc.Save(xw); Logger.Info("Файл настроек сохранен (" + filePath + ")"); } } } } catch (Exception ex) { Logger.ErrorFormat("Ошибка сохранения файла настроек {0}: {1}", filePath, ex); } }
public static void SaveRobots(List <BaseRobot> robots, string path) { var doc = new XmlDocument(); var xmlNode = (XmlElement)doc.AppendChild(doc.CreateElement("RobotsPortfolio")); foreach (var robot in robots) { var xmlChild = (XmlElement)xmlNode.AppendChild(doc.CreateElement("robot")); PropertyXMLTagAttribute.SaveObjectProperties(robot, xmlChild); } using (var sw = new StreamWriterLog(path, false)) { using (var xw = new XmlTextWriter(sw) { Formatting = Formatting.Indented }) { doc.Save(xw); } } }
/// <summary> /// загрузить настройки серий /// (размер шрифта, цветовая схема по-умолчанию и т.п.) /// </summary> public static void LoadSeriesSettingsFromXml(XmlElement nodeRoot) { if (nodeRoot == null) { return; } var seriesTypes = InteractiveObjectSeries.GetObjectSeriesTypes(); foreach (XmlElement node in nodeRoot) { var seriesName = node.Name; // найти серию var series = seriesTypes.FirstOrDefault(s => s.Name == seriesName); if (series == null) { continue; } // инициализировать статические параметры серии PropertyXMLTagAttribute.InitStaticProperties(series, node, false); } }
/// <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 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); }
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); }
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); }