internal FanProfile(XmlNode node, GeneralOptions defaults) { Name = node.Attributes["name"].Value; this.Interval = Utils.ParseInt32(node.SelectSingleNode("interval")?.InnerText, defaults.interval); XmlNode hysteresis = node.SelectSingleNode("hysteresis"); UpHysteresis = Utils.ParseByte(hysteresis?.Attributes["up"]?.Value, defaults.UpHysteresis); DownHysteresis = Utils.ParseByte(hysteresis?.Attributes["down"]?.Value, defaults.DownHysteresis); bool.TryParse(node.Attributes["default"]?.Value, out IsDefault); XmlNodeList cfgPoints = node.SelectNodes("point"); this.Points = new TemperaturePoint[cfgPoints.Count]; for (var i = 0; i < this.Points.Length; i++) { node = cfgPoints[i]; ref TemperaturePoint pt = ref Points[i]; pt.Temperature = byte.Parse(node.Attributes["temp"].Value); pt.FanSpeed = byte.Parse(node.Attributes["fan"].Value); }
public void ReadInitTxtFile(string filename) { CultureInfo provider = CultureInfo.InvariantCulture; var format = "yyyy-MM-dd HH:mm:ss"; if (filename.Contains("Tdata")) { foreach (var str in File.ReadAllLines(filename)) { string[] split = Parser.ParseString(str); if (Convert.ToInt32(split[5]) >= 8) { split[3] = split[3].Replace('.', ','); var temperaturePoint = new TemperaturePoint(Convert.ToDouble(split[3]), DateTime.ParseExact(split[1], format, provider)); points[sensorBuildingPairs[Convert.ToInt32(split[0])] - 1].Add(temperaturePoint); } } } else { Console.WriteLine("Choose correct file."); } }