/// <summary> /// /// </summary> /// <param name="name"></param> /// <returns></returns> public override object GetLazyDataFieldValue(string name) { if (StringHelper.Equal(name, "dt")) { return(DateTime.Now); } else if (StringHelper.Equal(name, "ot")) { return(OutsideTemperatureProviderManager.GetStandardOutsideTemperature(this)); } else if (StringHelper.Equal(name, "mode")) { // outside temperature mode value // // 0 - local // 1 - remote // int modeValue = 1; IOutsideTemperatureProvider provider = OutsideTemperatureProviderManager.Provider; if (provider is DeviceOTProvider) { DeviceOTProvider deviceOtp = (DeviceOTProvider)provider; if (deviceOtp.Outside == this) { modeValue = 0; } } return(modeValue); } return(base.GetLazyDataFieldValue(name)); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void XD1100Dpu_HardwareCreated(object sender, EventArgs e) { int id = DBI.Instance.GetOutsideTemperatureProviderDevice(); if (id > 0) { Soft soft = sender as Soft; IDevice d = soft.Hardware.FindDevice(id); if (d != null) { DeviceOTProvider provider = new DeviceOTProvider((IOutside)d); OutsideTemperatureProviderManager.Provider = provider; _log.Info("deviceOT provider is '{0}->{1}'", d.Station.Name, d.GetType().Name); } } }