wxr
2020-11-12 a715181089be0d31cd737a5367ffd02690b9d77f
HDL_ON/UI/UI2/FuntionControlView/Light/RelayPageBLL.cs
@@ -1,11 +1,30 @@
using System;
using HDL_ON.Entity;
using Shared;
namespace HDL_ON.UI
{
    public partial class RelayPage
    {
        /// <summary>
        /// 更新灯光状态
        /// </summary>
        public static void UpdataState(Light uLight)
        {
            Application.RunOnMainThread(() =>
            {
                try
                {
                    if (bodyView == null)
                        return;
                    bodyView.btnSwitch.IsSelected = bodyView.btnSwitchIcon.IsSelected = uLight.trait_on_off.value.ToString() == "on";
                }
                catch (Exception ex)
                {
                    MainPage.Log($"RelayPage error {ex.Message}");
                }
            });
        }
        /// <summary>
        /// 加载事件列表
        /// </summary>
@@ -28,7 +47,7 @@
        {
            btnCollection.MouseUpEventHandler += (sender, e) => {
                btnCollection.IsSelected = light.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
                DB_ResidenceData.residenceData.SaveResidenceData();
                light.SaveFunctionData();
            };
        }
@@ -37,27 +56,28 @@
        /// </summary>
        void LoadSwitchEvent()
        {
            btnSwitchIcon.MouseUpEventHandler += (sender, e) =>
            btnSwitchIcon.MouseUpEventHandler = (sender, e) =>
            {
                btnSwitchIcon.IsSelected = btnSwitch.IsSelected = !btnSwitchIcon.IsSelected;
                btnSwitch.IsSelected = btnSwitchIcon.IsSelected = !btnSwitchIcon.IsSelected;
                new System.Threading.Thread(() =>
                {
                    var light = this.light as Light;
                    light.state = btnSwitch.IsSelected ? 1 : 0;
                    Control.Send("write", this.light, 3);
                    light.trait_on_off.value = btnSwitchIcon.IsSelected ? "on" : "off";
                    System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                    d.Add("on_off", light.trait_on_off.value.ToString());
                    DriverLayer.Control.ins.SendWriteCommand(light, d);
                })
                { IsBackground = true }.Start();
            };
            btnSwitch.MouseUpEventHandler += (sender, e) =>
            btnSwitch.MouseUpEventHandler = (sender, e) =>
            {
                btnSwitch.IsSelected = btnSwitchIcon.IsSelected = !btnSwitch.IsSelected;
                btnSwitchIcon.IsSelected = btnSwitch.IsSelected = !btnSwitch.IsSelected;
                new System.Threading.Thread(() =>
                {
                    var light = this.light as Light;
                    light.state = btnSwitch.IsSelected ? 1 : 0;
                    Control.Send("write", this.light, 3);
                    light.trait_on_off.value = btnSwitch.IsSelected ? "on" : "off";
                    System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                    d.Add("on_off", light.trait_on_off.value.ToString());
                    DriverLayer.Control.ins.SendWriteCommand(light, d);
                    //Control.Send(CommandType_A.write, light);
                })
                { IsBackground = true }.Start();
            };