Beispiel #1
0
        public static List <CurrencySettings> LoadCurrencySettings(string fileName, out string error)
        {
            var    doc = new XmlDocument();
            Stream stream;

            try
            {
                stream = File.OpenRead(fileName);
            }
            catch (Exception e)
            {
                error = "LoadCurrencySettings error: " + e.GetType().Name;
                return(null);
            }
            using (var streamReader = new StreamReader(stream))
            {
                try
                {
                    doc.Load(streamReader);
                }
                catch (XmlException e)
                {
                    error = "LoadCurrencySettings error: " + e.GetType().Name;
                    return(null);
                }
            }
            stream.Close();
            if (doc.DocumentElement == null)
            {
                error = "LoadCurrencySettings error: bad file format";
                return(null);
            }
            var root = doc.DocumentElement.SelectSingleNode("Currencies");

            if (root == null)
            {
                error = "LoadCurrencySettings error: bad file format";
                return(null);
            }
            var records = root.SelectNodes("Currency");

            if (records == null)
            {
                error = "LoadCurrencySettings error: bad file format";
                return(null);
            }
            var result = new List <CurrencySettings>();

            foreach (XmlNode record in records)
            {
                var robotCurrencySettings = new CurrencySettings();
                robotCurrencySettings.CountryCode  = NewsRobot.GetTagAttributeValue(record, "CountryCode");
                robotCurrencySettings.CurrencyCode = NewsRobot.GetTagAttributeValue(record, "CurrencyCode");
                result.Add(robotCurrencySettings);
            }
            error = null;
            return(result);
        }
Beispiel #2
0
        public static List <NewsSettings> LoadNewsSettings(string fileName, out string error)
        {
            var    doc = new XmlDocument();
            Stream stream;

            try
            {
                stream = File.OpenRead(fileName);
            }
            catch (Exception e)
            {
                error = "LoadNewsSettings error: " + e.GetType().Name;
                return(null);
            }
            using (var streamReader = new StreamReader(stream))
            {
                try
                {
                    doc.Load(streamReader);
                }
                catch (XmlException e)
                {
                    error = "LoadNewsSettings error: " + e.GetType().Name;
                    return(null);
                }
            }
            stream.Close();
            if (doc.DocumentElement == null)
            {
                error = "LoadNewsSettings error: bad file format";
                return(null);
            }
            var records = doc.DocumentElement.SelectNodes("News");

            if (records == null)
            {
                error = "LoadNewsSettings error: bad file format";
                return(null);
            }
            var result = new List <NewsSettings>();

            foreach (XmlNode record in records)
            {
                var robotNewsSetting = new NewsSettings();
                robotNewsSetting.Pair        = NewsRobot.GetTagAttributeValue(record, "NewsPair");
                robotNewsSetting.CountryCode = NewsRobot.GetTagAttributeValue(record, "CountryCode");
                robotNewsSetting.Title       = NewsRobot.GetTagAttributeValue(record, "NewsTitle");
                robotNewsSetting.Weight      = NewsRobot.GetTagAttributeValue(record, "Weight").ToInt();
                robotNewsSetting.MinDelta    = NewsRobot.GetTagAttributeValue(record, "MinDelta").ToIntSafe() ?? 0;
                result.Add(robotNewsSetting);
            }
            error = null;
            return(result);
        }
Beispiel #3
0
        // вызывается при открытии окна состояния роботов
        public override BaseRobot MakeCopy()
        {
            var robo = new NewsRobot
            {
                Volume           = Volume,
                lastGrabNewsCall = lastGrabNewsCall,
                newsSettings     = newsSettings,
                currencySettings = currencySettings,
                oldNews          = oldNews,
                quoteStorage     = quoteStorage
                                   // возможно, что что-то забыли
            };

            CopyBaseSettings(robo);
            return(robo);
        }
Beispiel #4
0
 // вызывается при открытии окна состояния роботов
 public override BaseRobot MakeCopy()
 {
     var robo = new NewsRobot
     {
         Volume = Volume,
         lastGrabNewsCall = lastGrabNewsCall,
         newsSettings = newsSettings,
         currencySettings = currencySettings,
         oldNews = oldNews,
         quoteStorage = quoteStorage
         // возможно, что что-то забыли
     };
     CopyBaseSettings(robo);
     return robo;
 }