From a715181089be0d31cd737a5367ffd02690b9d77f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 12 十一月 2020 13:36:01 +0800
Subject: [PATCH] 20201112

---
 HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs |  189 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 174 insertions(+), 15 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs
index 0012064..2a32554 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs
@@ -1,18 +1,61 @@
 锘縰sing System;
+using HDL_ON.DriverLayer;
 using HDL_ON.Entity;
+using HDL_ON.UI.CSS;
+using Shared;
+
 namespace HDL_ON.UI
 {
     public partial class ACPage
     {
+        static DateTime updataTime = DateTime.MinValue;
+        public static void UpdataStates(AC uAc)
+        {
+            try
+            {
+                Application.RunOnMainThread(() =>
+                {
+                    if (bodyView == null)
+                    {
+                        return;
+                    }
+                    if (updataTime.AddMilliseconds(300) > DateTime.Now)
+                    {
+                        return;
+                    }
+                    updataTime = DateTime.Now;
+                    bodyView.arcBar.ProgressBarColor = bodyView.aC.trait_on_off.value.ToString() == "on" ? CSS_Color.MainColor : CSS_Color.PromptingColor2;
+                    bodyView.btnTemp.Text = uAc.trait_temp.value.ToString();
+                    bodyView.btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + uAc.indoorTemp + "掳C";
+                    bodyView.btnMode.UnSelectedImagePath = uAc.curModeImage;
+                    bodyView.btnWindSpeed.UnSelectedImagePath = uAc.curFanImage;
+                    bodyView.btnSwitch.IsSelected = uAc.trait_on_off.value.ToString() == "on";
+                    if (uAc.refreshTime.AddMilliseconds(1000) < DateTime.Now)
+                    {
+                        bodyView.arcBar.Progress = Convert.ToInt32(uAc.trait_temp.value);
+
+                    }
+                    bodyView.arcBar.ProgressBarColor = uAc.trait_on_off.value.ToString() == "on" ? CSS_Color.MainColor : CSS_Color.PromptingColor2;
+                    bodyView.arcBar.ThumbImagePath = uAc.trait_on_off.value.ToString() == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png";
+                    bodyView.arcBar.IsClickable = uAc.trait_on_off.value.ToString() == "on";
+                });
+            }
+            catch (Exception ex)
+            {
+                MainPage.Log($"acpage updata error {ex.Message}");
+            }
+        }
+
         void LoadEventList()
         {
             LoadCollectionEvent();
-            LoadEvent_ModeChange();
+            LoadEvent_AcStatesChange();
             LoadEvent_TempChange();
             //鍥為��鍒锋柊淇℃伅浜嬩欢
-            actionRefresh = () => {
-                btnFunctionName.Text = btnFunctionName_Out.Text = function.name;
-                btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = function.GetRoomListName();
+            actionRefresh = () =>
+            {
+                btnFunctionName.Text = btnFunctionName_Out.Text = aC.name;
+                btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = aC.GetRoomListName();
             };
         }
 
@@ -21,9 +64,10 @@
         /// </summary>
         void LoadCollectionEvent()
         {
-            btnCollection.MouseUpEventHandler += (sender, e) => {
-                btnCollection.IsSelected = function.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
-                DB_ResidenceData.residenceData.SaveResidenceData();
+            btnCollection.MouseUpEventHandler += (sender, e) =>
+            {
+                btnCollection.IsSelected = aC.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
+                aC.SaveFunctionData();
             };
         }
 
@@ -32,19 +76,134 @@
         /// </summary>
         void LoadEvent_TempChange()
         {
-            btnMinus.MouseUpEventHandler = (sender, e) => {
-                //function as AC
+            btnMinus.MouseUpEventHandler = (sender, e) =>
+            {
+                var temp = Convert.ToInt32(aC.trait_temp.value);
+                if (temp < 17)
+                {
+                    return;
+                }
+                temp--;
+                arcBar.Progress = temp;
+                btnTemp.Text = temp.ToString();
+                aC.trait_temp.value = temp;
+                //Control.Send(CommandType_A.write, aC);
+                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                d.Add("temp", temp.ToString());
+                Control.ins.SendWriteCommand(aC, d);
+            };
+            btnPlus.MouseUpEventHandler = (sender, e) =>
+            {
+                var temp = Convert.ToInt32(aC.trait_temp.value);
+                if (temp > 37)
+                {
+                    return;
+                }
+                temp++;
+                arcBar.Progress = temp;
+                btnTemp.Text = temp.ToString();
+                aC.trait_temp.value = temp;
+                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                d.Add("temp", aC.trait_temp.value.ToString());
+                Control.ins.SendWriteCommand(aC, d);
+                //aC.GetSendJObject
+
+            };
+            arcBar.OnStopTrackingTouchEvent = (sender, e) =>
+           {
+               aC.trait_temp.value = arcBar.Progress;
+               btnTemp.Text = aC.trait_temp.value.ToString();
+                //Control.Send(CommandType_A.write, aC);
+                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+               d.Add("temp", aC.trait_temp.value.ToString());
+               Control.ins.SendWriteCommand(aC, d);
+           };
+            arcBar.OnProgressChangedEvent = (sender, e) =>
+            {
+                aC.trait_temp.value = e;
+                btnTemp.Text = aC.trait_temp.value.ToString();
+            };
+        }
+        /// <summary>
+        /// 鎺у埗妯″紡浜嬩欢
+        /// </summary>
+        void LoadEvent_AcStatesChange()
+        {
+            btnMode.MouseUpEventHandler = (sender, e) =>
+            {
+                LoadDiv_ChangeModeView();
+            };
+            btnWindSpeed.MouseUpEventHandler = (sender, e) =>
+            {
+                LoadDiv_ChangeFanView();
+            };
+
+            btnSwitch.MouseUpEventHandler = (sender, e) =>
+            {
+                btnSwitch.IsSelected = !btnSwitch.IsSelected;
+                aC.trait_on_off.value = btnSwitch.IsSelected ? "on" : "off";
+                bodyView.arcBar.ProgressBarColor = aC.trait_on_off.value.ToString() == "on" ? CSS_Color.MainColor : CSS_Color.PromptingColor2;
+                bodyView.arcBar.ThumbImagePath = aC.trait_on_off.value.ToString() == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png";
+                bodyView.arcBar.IsClickable = aC.trait_on_off.value.ToString() == "on";
+
+                //bodyView.arcBar.ProgressBarColor = aC.on_off == "on" ? CSS_Color.MainColor : CSS_Color.PromptingColor2;
+                //bodyView.arcBar.ThumbImagePath = aC.on_off == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png";
+                //bodyView.arcBar.IsClickable = aC.on_off == "on";
+
+                //Control.Send(CommandType_A.write, aC);
+                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                d.Add("on_off", aC.trait_on_off.value.ToString());
+                Control.ins.SendWriteCommand(aC, d);
             };
         }
 
         /// <summary>
-        /// 鎺у埗妯″紡浜嬩欢
+        /// 鍔犺浇妯″紡鏀瑰彉浜嬩欢
         /// </summary>
-        void LoadEvent_ModeChange()
+        void LoadEvent_ChangeMode(Dialog dialog, FrameLayout dialogView, Button btn1, Button btn2, string curMode)
         {
-
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
+                dialog.Close();
+            };
+            EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
+            {
+                btn1.IsSelected = btn2.IsSelected = true;
+                aC.trait_mode.value = curMode;
+                btnMode.UnSelectedImagePath = aC.curModeImage;
+                //Control.Send(CommandType_A.write, aC);
+                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                d.Add("mode", aC.curModeIndex.ToString());
+                Control.ins.SendWriteCommand(aC, d);
+                dialog.Close();
+            };
+            btn1.MouseUpEventHandler = eventHandler1;
+            btn2.MouseUpEventHandler = eventHandler1;
+            dialogView.MouseUpEventHandler = eventHandler;
         }
-
-
+        /// <summary>
+        /// 鍔犺浇椋庨�熸敼鍙樹簨浠�
+        /// </summary>
+        void LoadEvent_ChangeFan(Dialog dialog, FrameLayout dialogView, Button btn1, Button btn2, string curFan)
+        {
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
+                dialog.Close();
+            };
+            EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
+            {
+                btn1.IsSelected = btn2.IsSelected = true;
+                aC.trait_fan.value = curFan;
+                btnWindSpeed.UnSelectedImagePath = aC.curFanImage;
+                //Control.Send(CommandType_A.write, aC);
+                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                d.Add("fan", aC.curFanIndex.ToString());
+                Control.ins.SendWriteCommand(aC, d);
+                dialog.Close();
+            };
+            btn1.MouseUpEventHandler = eventHandler1;
+            btn2.MouseUpEventHandler = eventHandler1;
+            dialogView.MouseUpEventHandler = eventHandler;
+        }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0