From d4811b7d34b45ff6b21b97f11da128b5572ec526 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 03 三月 2021 16:03:03 +0800
Subject: [PATCH] 20210303-1

---
 HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs |  136 +++++++++++++++++++++++++++++++--------------
 1 files changed, 93 insertions(+), 43 deletions(-)

diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
index 6e50522..692d673 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
@@ -1,4 +1,5 @@
 锘縰sing System;
+using System.Collections.Generic;
 using HDL_ON.DriverLayer;
 using HDL_ON.Entity;
 using HDL_ON.UI.Music;
@@ -66,14 +67,14 @@
             btnCollectionIcon.MouseUpEventHandler += (sender, e) =>
             {
                 btnCollectionIcon.IsSelected = function.collect = !btnCollectionIcon.IsSelected;
-                function.SaveFunctionData(true);
+                function.CollectFunction();
             };
         }
 
         /// <summary>
         /// 寮�鍏充簨浠�
         /// </summary>
-        void LoadEvent_SwitchFunction(Button btnSwitch)
+        void LoadEvent_SwitchFunction(Button btnSwitch,FunctionAttributes fadeTime = null)
         {
             btnSwitch.MouseUpEventHandler = (sender, e) =>
             {
@@ -81,9 +82,14 @@
                 new System.Threading.Thread(() =>
                 {
                     function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
-                    //Control.Send(CommandType_A.write, function);
                     System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                    d.Add("on_off", function.trait_on_off.curValue.ToString());
+                    d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString());
+                    if(fadeTime!= null)
+                    {
+                        int result = 0;
+                        int.TryParse(fadeTime.curValue.ToString(), out result);
+                        d.Add(FunctionAttributeKey.FadeTime, result.ToString());
+                    }
                     Control.Ins.SendWriteCommand(function, d);
                 })
                 { IsBackground = true }.Start();
@@ -101,7 +107,7 @@
                 btnSwitch.IsSelected = !btnSwitch.IsSelected;
                 new System.Threading.Thread(() =>
                 {
-                    if (function.functionCategory == FunctionCategory.Light)
+                    if (function.Spk_Prefix == FunctionCategory.Light)
                     {
                         var light = function as Light;
                         light.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
@@ -120,7 +126,7 @@
         /// </summary>
         void LoadEvent_LightDimming(DiyImageSeekBar dimmerControlBar)
         {
-            if(function.functionType == FunctionType.Dimmer || function.functionType == FunctionType.RGB)
+            if(function.spk == SPK.LightDimming || function.spk == SPK.LightRGB)
             {
                 var light = function as Light;
                 dimmerControlBar.OnStartTrackingTouchEvent = (sender, e) => {
@@ -131,37 +137,38 @@
                     onDimmerBar = false;
                     (bodyDiv.Parent as VerticalScrolViewLayout).ScrollEnabled = true;
                     light.brightness = dimmerControlBar.Progress;
-                    System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                    Dictionary<string, string> d = new Dictionary<string, string>();
                     d.Add("brightness", light.brightness.ToString());
                     Control.Ins.SendWriteCommand(light, d);
                 };
                 dimmerControlBar.OnProgressChangedEvent = (sender, e) => {
-                    light.brightness = e;
-                    light.trait_on_off.curValue = e > 0 ? "on" : "off";
+                    dimmerControlBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1;
+                    //light.brightness = e;
+                    //light.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", 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();
+                    //    }
+                    //}
                 };
             }
 
@@ -185,25 +192,18 @@
                 btnOpen.IsSelected = false;
                 curtain.trait_on_off.curValue = "off";
                 curtain.percent = 0;
-                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                Dictionary<string, string> d = new Dictionary<string, string>();
                 d.Add("on_off", curtain.trait_on_off.curValue.ToString());
                 Control.Ins.SendWriteCommand(curtain, d);
             };
 
-            btnStop.MouseDownEventHandler = (sender, e) =>
+            btnStop.MouseUpEventHandler = (sender, e) =>
             {
                 btnStop.IsSelected = true;
                 btnClose.IsSelected = false;
                 btnOpen.IsSelected = false;
-            };
-            btnStop.MouseUpEventHandler = (sender, e) =>
-            {
-                btnOpen.IsSelected = true;
-                btnClose.IsSelected = false;
-                btnStop.IsSelected = false;
                 curtain.trait_on_off.curValue = "stop";
-                //curtain.percent = 0;
-                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                Dictionary<string, string> d = new Dictionary<string, string>();
                 d.Add("on_off", curtain.trait_on_off.curValue.ToString());
                 Control.Ins.SendWriteCommand(curtain, d);
             };
@@ -215,13 +215,63 @@
                 btnStop.IsSelected = false;
                 curtain.trait_on_off.curValue = "on";
                 curtain.percent = 100;
-                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                Dictionary<string, string> d = new Dictionary<string, string>();
                 d.Add("on_off", curtain.trait_on_off.curValue.ToString());
                 Control.Ins.SendWriteCommand(curtain, d);
             };
         }
         #endregion
 
+
+        /// <summary>
+        /// 鍔犺浇鏅捐。鏋舵帶鍒朵簨浠�
+        /// </summary>
+        void LoadEvent_ControlClothesHanger(Function function, Button btnUp, Button btnDown)
+        {
+            btnUp.MouseDownEventHandler = (sender, e) =>
+            {
+                btnUp.IsSelected = true;
+            };
+            btnUp.MouseUpEventHandler = (sender, e) =>
+            {
+                new System.Threading.Thread(() =>
+                {
+                    System.Threading.Thread.Sleep(2000);
+                    Application.RunOnMainThread(() =>
+                    {
+                        btnUp.IsSelected = false;
+                    });
+                })
+                { IsBackground = true }.Start();
+                function.SetAttrState(FunctionAttributeKey.Position, "up");
+                Dictionary<string, string> d = new Dictionary<string, string>();
+                d.Add(FunctionAttributeKey.Position, "up");
+                Control.Ins.SendWriteCommand(function, d);
+            };
+
+            btnDown.MouseDownEventHandler = (sender, e) =>
+            {
+                btnDown.IsSelected = true;
+            };
+            btnDown.MouseUpEventHandler = (sender, e) =>
+            {
+                new System.Threading.Thread(() =>
+                {
+                    System.Threading.Thread.Sleep(2000);
+                    Application.RunOnMainThread(() =>
+                    {
+                        btnDown.IsSelected = false;
+                    });
+                })
+                { IsBackground = true }.Start();
+                function.SetAttrState(FunctionAttributeKey.Position, "down");
+                Dictionary<string, string> d = new Dictionary<string, string>();
+                d.Add(FunctionAttributeKey.Position, "down");
+                Control.Ins.SendWriteCommand(function, d);
+            };
+        }
+
+
         #region 绌鸿皟浜嬩欢
         #endregion
 

--
Gitblit v1.8.0