Пример #1
0
		internal static void InitItems()
		{
			CJ.Settings = ConfigFile.ReadSettings();
			CJ.Items = ConfigFile.GetItems().Select(i => new Item() { Id = i.Id }).ToArray();
		}
Пример #2
0
		internal static Settings ReadSettings()
		{
			if (_settings == null)
			{
				var doc = new XmlDocument();
				doc.Load(ApplicationConfig.ConfigFile);

				var settings = new Settings();

				var settingElement = doc.SelectSingleNode("/config/settings");
				var communication_interval = settingElement.SelectSingleNode("communication_interval");
				var temp_max = settingElement.SelectSingleNode("temp_max");
				var temp_min = settingElement.SelectSingleNode("temp_min");

				var gsm_number = settingElement.SelectSingleNode("gsm_number");
				var gsm_pin = settingElement.SelectSingleNode("gsm_pin");
				var gsm_answer = settingElement.SelectSingleNode("gsm_answer");

				var hd20_offset = settingElement.SelectSingleNode("hd20_offset");
				var phweb_gateway = settingElement.SelectSingleNode("phweb_gateway");
				var phweb_ip = settingElement.SelectSingleNode("phweb_ip");
				var phweb_mask = settingElement.SelectSingleNode("phweb_mask");

				var regulation_mode = settingElement.SelectSingleNode("regulation_mode");
				var meintenance = settingElement.SelectSingleNode("meintenance");
				var temp_summer = settingElement.SelectSingleNode("temp_summer");
				var building_type = settingElement.SelectSingleNode("building_type");

				var temp_ui_min = settingElement.SelectSingleNode("temp_ui_min");
				var temp_ui_max = settingElement.SelectSingleNode("temp_ui_max");
				var curve_kc_k = settingElement.SelectSingleNode("curve_kc_k");
				var curve_kp_k = settingElement.SelectSingleNode("curve_kp_k");

				var hysteresis_min_start = settingElement.SelectSingleNode("hysteresis_min_start");
				var hysteresis = settingElement.SelectSingleNode("hysteresis");
				var pi_length = settingElement.SelectSingleNode("pi_length");
				var pi_minimal_start = settingElement.SelectSingleNode("pi_minimal_start");
				var pi_width = settingElement.SelectSingleNode("pi_width");

				var lock_key = settingElement.SelectSingleNode("lock_key");
				var unit_type = settingElement.SelectSingleNode("unit_type");
				var boiler_type = settingElement.SelectSingleNode("boiler_type");

				settings.CommunicationInterval = Convert.ToByte(communication_interval.InnerText);
				settings.TempMax = Convert.ToDecimal(temp_max.InnerText);
				settings.TempMin = Convert.ToByte(temp_min.InnerText);

				settings.GsmModemNumber = gsm_number.InnerText;
				settings.GsmModemPin = gsm_pin.InnerText;

				byte gsmAnswer;
				if (byte.TryParse(gsm_answer.InnerText, out gsmAnswer))
					settings.GsmAnswer = gsmAnswer;

				byte hd20Offset;
				if (byte.TryParse(hd20_offset.InnerText, out hd20Offset))
					settings.Hd20Offset = hd20Offset;

				settings.PhWebGateway = phweb_gateway.InnerText;
				settings.PhWebIP = phweb_ip.InnerText;
				settings.PhWebMask = phweb_mask.InnerText;

				settings.RegulationMode = Convert.ToByte(regulation_mode.InnerText);
				settings.Meintenance = meintenance.InnerText;
				settings.TempSummer = Convert.ToByte(temp_summer.InnerText);
				settings.BuildingType = Convert.ToByte(building_type.InnerText);

				settings.TempUiMin = Convert.ToByte(temp_ui_min.InnerText);
				settings.TempUiMax = Convert.ToByte(temp_ui_max.InnerText);
				settings.CurveKcK = Convert.ToByte(curve_kc_k.InnerText);
				settings.CurveKpK = Convert.ToByte(curve_kp_k.InnerText);

				settings.HysteresisMinStart = Convert.ToByte(hysteresis_min_start.InnerText);
				settings.Hysteresis = Convert.ToByte(hysteresis.InnerText);
				settings.PiLength = Convert.ToByte(pi_length.InnerText);
				settings.PiMinimalStart = Convert.ToByte(pi_minimal_start.InnerText);
				settings.PiWidth = Convert.ToByte(pi_width.InnerText);

				settings.LockKey = lock_key.InnerText;
				settings.UnitType = Convert.ToByte(unit_type.InnerText);

				byte boilerType;
				if (byte.TryParse(boiler_type.InnerText, out boilerType))
					settings.BoilerType = boilerType;

				_settings = settings;
			}
			return _settings;
		}