From cbc156bc38d8b8eae7aef60cb186ab2b52fa701f Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 16 七月 2024 13:59:56 +0800
Subject: [PATCH] 增加全部挂断

---
 HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs |  256 +++++++++++++++++++++++++++-----------------------
 1 files changed, 138 insertions(+), 118 deletions(-)

diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
index d579862..6a9bac7 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using HDL_ON.DriverLayer;
 using HDL_ON.Entity;
+using HDL_ON.UI.CSS;
 using HDL_ON.UI.Music;
 using Shared;
 
@@ -9,54 +10,60 @@
 {
     public partial class FunctionControlZone
     {
-        /// <summary>
-        /// 鏇存柊寮�鍏崇姸鎬�
-        /// </summary>
-        /// <param name="upfunc"></param>
-        public static void UpdataOnOffState(Function upfunc)
-        {
-            if(bodyDiv!= null)
-            {
-                Application.RunOnMainThread(() => {
-                    if(bodyDiv.Tag.ToString() == upfunc.sid)
-                    {
-                        for (var o = 0; o < bodyDiv.ChildrenCount; o++)
-                        {
-                            if (bodyDiv.GetChildren(o).GetType() == typeof(Button))
-                            {
-                                var btn = bodyDiv.GetChildren(o) as Button;
-                                if (btn.Tag != null)
-                                {
-                                    if (btn.Tag.ToString() == upfunc.sid + "_Switch")// + "_DimmerBar")
-                                    {
-                                        btn.IsSelected = upfunc.trait_on_off.curValue.ToString() == "on";
-                                    }
-                                }
-                            }
-                            else if (bodyDiv.GetChildren(o).GetType() == typeof(DiyImageSeekBar))
-                            {
-                                var btn = bodyDiv.GetChildren(o) as DiyImageSeekBar;
-                                if (btn.Tag != null)
-                                {
-                                    if (btn.Tag.ToString() == upfunc.sid + "_DimmerBar")
-                                    {
-                                        btn.Progress = Convert.ToInt32(upfunc.GetAttrState(FunctionAttributeKey.Brightness));
-                                    }
-                                }
-                            }
-                        }
+        //    /// <summary>
+        //    /// 鏇存柊寮�鍏崇姸鎬�
+        //    /// </summary>
+        //    /// <param name="upfunc"></param>
+        //    public static void UpdataOnOffState(Function upfunc)
+        //    {
+        //        if(bodyDiv!= null)
+        //        {
+        //            Application.RunOnMainThread(() => {
+        //                if(bodyDiv.Tag.ToString() == upfunc.sid)
+        //                {
+        //                    for (var o = 0; o < bodyDiv.ChildrenCount; o++)
+        //                    {
+        //                        if (bodyDiv.GetChildren(o).GetType() == typeof(Button))
+        //                        {
+        //                            var btn = bodyDiv.GetChildren(o) as Button;
+        //                            if (btn.Tag != null)
+        //                            {
+        //                                if (btn.Tag.ToString() == upfunc.sid + "_Switch")// + "_DimmerBar")
+        //                                {
+        //                                    btn.IsSelected = upfunc.trait_on_off.curValue.ToString() == "on";
+        //                                }
+        //                            }
+        //                        }
+        //                        else if (bodyDiv.GetChildren(o).GetType() == typeof(DiyImageSeekBar))
+        //                        {
+        //                            var btn = bodyDiv.GetChildren(o) as DiyImageSeekBar;
+        //                            if (btn.Tag != null)
+        //                            {
+        //                                if (btn.Tag.ToString() == upfunc.sid + "_DimmerBar")
+        //                                {
+        //                                    btn.Progress = Convert.ToInt32(upfunc.GetAttrState(FunctionAttributeKey.Brightness));
+        //                                }
+        //                            }
+        //                        }
+        //                    }
 
-                    }
+        //                }
+        //            });
+        //        }
+        //    }
+        /// <summary>
+        /// 鏇存柊鍦ㄧ嚎鐘舵��
+        /// </summary>
+        public void UpdataOnline(bool online)
+        {
+            if (bodyDiv != null)
+            {
+                Application.RunOnMainThread(() =>
+                {
+                    bodyDiv.BackgroundColor = online ? CSS_Color.MainBackgroundColor : CSS_Color.PromptingColor2;
+                    bodyDiv.btnOffline.Visible = !online;
                 });
             }
-        }
-        /// <summary>
-        /// 鏇存柊浜害鐘舵��
-        /// </summary>
-        /// <param name="upfunc"></param>
-        static void UpdataBrightnessState(Function upfunc)
-        {
-
         }
 
         /// <summary>
@@ -79,16 +86,18 @@
 
             btnSwitch.MouseUpEventHandler = (sender, e) =>
             {
-                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-                {
-                    new Tip()
-                    {
-                        CloseTime = 1,
-                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                        Direction = AMPopTipDirection.None,
-                    }.Show(MainPage.BaseView);
-                    return;
-                }
+                //DriverLayer.Control.Ins.GatewayOnline_Cloud = false;
+                //DriverLayer.Control.Ins.GatewayOnline_Local = true;
+                //if (!function.isOnline())//绂荤嚎涓嶅厑璁告搷浣�
+                //{
+                //    new Tip()
+                //    {
+                //        CloseTime = 1,
+                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                //        Direction = AMPopTipDirection.None,
+                //    }.Show(MainPage.BaseView);
+                //    return;
+                //}
                 btnSwitch.IsSelected = !btnSwitch.IsSelected;
 
                 if(SPK.NotStatusSpkList.Contains( function.spk ))
@@ -126,7 +135,7 @@
         /// </summary>
         void LoadEvent_LightDimming(DiyImageSeekBar dimmerControlBar)
         {
-            if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+            if (!function.isOnline())//绂荤嚎涓嶅厑璁告搷浣�
             {
                 //new Tip()
                 //{
@@ -136,7 +145,7 @@
                 //}.Show(MainPage.BaseView);
                 return;
             }
-            if (function.spk == SPK.LightDimming || function.spk == SPK.LightRGB)
+            if (function.spk == SPK.LightDimming || function.spk == SPK.LightRGB || function.spk == SPK.LightCCT)
             {
                 dimmerControlBar.OnStartTrackingTouchEvent = (sender, e) => {
                     onDimmerBar = true;
@@ -152,32 +161,32 @@
                 };
                 dimmerControlBar.OnProgressChangedEvent = (sender, e) => {
                     dimmerControlBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1;
-                    //light.brightness = e;
-                    //light.trait_on_off.curValue = e > 0 ? "on" : "off";
+                    function.SetAttrState(FunctionAttributeKey.Brightness, e);
+                    function.trait_on_off.curValue = e > 0 ? "on" : "off";
 
-                    //if (e == 0 || e == 100)
-                    //{
-                    //    //Control.Send(CommandType_A.write, light);
-                    //    System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                    //    d.Add("brightness", light.brightness.ToString());
-                    //    Control.Ins.SendWriteCommand(light, d);
-                    //}
-                    //else
-                    //{
-                    //    var tm = (DateTime.Now - light.refreshTime).TotalMilliseconds;
-                    //    Console.WriteLine("skip time "+tm);
-                    //    if (300 < tm)
-                    //    {
-                    //        light.refreshTime = DateTime.Now;
-                    //        new System.Threading.Thread(() =>
-                    //        {
-                    //            System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                    //            d.Add("brightness", light.brightness.ToString());
-                    //            Control.Ins.SendWriteCommand(light, d);
-                    //        })
-                    //        { IsBackground = true }.Start();
-                    //    }
-                    //}
+                    if (e == 0 || e == 100)
+                    {
+                        //Control.Send(CommandType_A.write, light);
+                        System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                        d.Add("brightness", e.ToString());
+                        Control.Ins.SendWriteCommand(function, d);
+                    }
+                    else
+                    {
+                        var tm = (DateTime.Now - function.refreshTime).TotalMilliseconds;
+                        Console.WriteLine("skip time " + tm);
+                        if (500 < tm)
+                        {
+                            function.refreshTime = DateTime.Now;
+                            new System.Threading.Thread(() =>
+                            {
+                                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                                d.Add("brightness", e.ToString());
+                                Control.Ins.SendWriteCommand(function, d);
+                            })
+                            { IsBackground = true }.Start();
+                        }
+                    }
                 };
             }
 
@@ -196,16 +205,16 @@
         {
             btnClose.MouseUpEventHandler = (sender, e) =>
             {
-                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-                {
-                    new Tip()
-                    {
-                        CloseTime = 1,
-                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                        Direction = AMPopTipDirection.None,
-                    }.Show(MainPage.BaseView);
-                    return;
-                }
+                //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                //{
+                //    new Tip()
+                //    {
+                //        CloseTime = 1,
+                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                //        Direction = AMPopTipDirection.None,
+                //    }.Show(MainPage.BaseView);
+                //    return;
+                //}
                 btnClose.IsSelected = true;
                 btnStop.IsSelected = false;
                 btnOpen.IsSelected = false;
@@ -218,16 +227,16 @@
 
             btnStop.MouseUpEventHandler = (sender, e) =>
             {
-                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-                {
-                    new Tip()
-                    {
-                        CloseTime = 1,
-                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                        Direction = AMPopTipDirection.None,
-                    }.Show(MainPage.BaseView);
-                    return;
-                }
+                //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                //{
+                //    new Tip()
+                //    {
+                //        CloseTime = 1,
+                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                //        Direction = AMPopTipDirection.None,
+                //    }.Show(MainPage.BaseView);
+                //    return;
+                //}
                 btnStop.IsSelected = true;
                 btnClose.IsSelected = false;
                 btnOpen.IsSelected = false;
@@ -239,16 +248,16 @@
 
             btnOpen.MouseUpEventHandler = (sender, e) =>
             {
-                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-                {
-                    new Tip()
-                    {
-                        CloseTime = 1,
-                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                        Direction = AMPopTipDirection.None,
-                    }.Show(MainPage.BaseView);
-                    return;
-                }
+                //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                //{
+                //    new Tip()
+                //    {
+                //        CloseTime = 1,
+                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                //        Direction = AMPopTipDirection.None,
+                //    }.Show(MainPage.BaseView);
+                //    return;
+                //}
                 btnOpen.IsSelected = true;
                 btnClose.IsSelected = false;
                 btnStop.IsSelected = false;
@@ -273,7 +282,7 @@
             };
             btnUp.MouseUpEventHandler = (sender, e) =>
             {
-                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                if (!function.isOnline())//绂荤嚎涓嶅厑璁告搷浣�
                 {
                     new Tip()
                     {
@@ -304,7 +313,7 @@
             };
             btnDown.MouseUpEventHandler = (sender, e) =>
             {
-                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                if (!function.isOnline())//绂荤嚎涓嶅厑璁告搷浣�
                 {
                     new Tip()
                     {
@@ -352,7 +361,7 @@
                 a31player.SetAttrState("song_step", "up");
                 Dictionary<string, string> dic = new Dictionary<string, string>();
                 dic.Add("song_step", "up");
-                SendMethod.mMethod.SendControlCommand(a31player, dic);
+                SendMethod.Current.SendControlCommand(a31player, dic);
             };
             btnPrev.MouseUpEventHandler = (sender, e) =>
             {
@@ -375,7 +384,7 @@
                 a31player.SetAttrState("on_off", status);
                 Dictionary<string, string> dic = new Dictionary<string, string>();
                 dic.Add("on_off", status);
-                SendMethod.mMethod.SendControlCommand(a31player, dic);
+                SendMethod.Current.SendControlCommand(a31player, dic);
             };
             ///涓嬩竴鏇茬偣鍑讳簨浠�
             btnNext.MouseDownEventHandler = (sender, e) =>
@@ -384,7 +393,7 @@
                 a31player.SetAttrState("song_step", "down");
                 Dictionary<string, string> dic = new Dictionary<string, string>();
                 dic.Add("song_step", "down");
-                SendMethod.mMethod.SendControlCommand(a31player, dic);
+                SendMethod.Current.SendControlCommand(a31player, dic);
             };
             btnNext.MouseUpEventHandler = (sender, e) =>
             {
@@ -398,7 +407,18 @@
         /// </summary>
         void LoadEvent_DivSkipEvent()
         {
-            var eventHandler = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollectionIcon, btnName, btnFromFloor);
+            //if (function.spk == SPK.GroupControl)
+            //{
+            //    EventHandler<MouseEventArgs> handler = (sender, e) => {
+            //        var dialog = new GroupControlPage(FunctionList.List.groupControls.Find((obj) => obj.sid == function.sid));
+            //        dialog.ShowDialog();
+            //    };
+            //    this.MouseUpEventHandler = handler;
+            //    btnName.MouseUpEventHandler = handler;
+            //    btnFromFloor.MouseUpEventHandler = handler;
+            //    return;
+            //}
+            var eventHandler = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollectionIcon, btnName, btnFromFloor, UI2.FuntionControlView.VideoDoorLock.CommonMethod.Comerom.room,this.action);
             this.MouseUpEventHandler = eventHandler;
             btnName.MouseUpEventHandler = eventHandler;
             btnFromFloor.MouseUpEventHandler = eventHandler;

--
Gitblit v1.8.0