From 7167334c0e89dd84827d59e726123d14776e3a09 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 16 六月 2020 11:14:13 +0800
Subject: [PATCH] 2020-06-16-1

---
 HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs |  139 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 128 insertions(+), 11 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs
index 0012064..eec89f2 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs
@@ -1,18 +1,51 @@
 锘縰sing System;
 using HDL_ON.Entity;
+using HDL_ON.UI.CSS;
+using Shared;
+
 namespace HDL_ON.UI
 {
     public partial class ACPage
     {
+        public static void UpdataStates(AC uAc)
+        {
+            try
+            {
+                
+                Application.RunOnMainThread(() =>
+                {
+                    if (bodyView == null)
+                    {
+                        return;
+                    }
+                    bodyView.arcBar.ProgressBarColor = bodyView.aC.on_off == "on" ? CSS_Color.MainColor : CSS_Color.PromptingColor2;
+                    bodyView.btnTemp.Text = uAc.curTemp.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.on_off == "on";
+                    if (uAc.refreshTime.AddMilliseconds(1000) < DateTime.Now)
+                    {
+                        bodyView.arcBar.Progress = uAc.curTemp;
+                    }
+                });
+            }
+            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,8 +54,9 @@
         /// </summary>
         void LoadCollectionEvent()
         {
-            btnCollection.MouseUpEventHandler += (sender, e) => {
-                btnCollection.IsSelected = function.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
+            btnCollection.MouseUpEventHandler += (sender, e) =>
+            {
+                btnCollection.IsSelected = aC.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
                 DB_ResidenceData.residenceData.SaveResidenceData();
             };
         }
@@ -32,19 +66,102 @@
         /// </summary>
         void LoadEvent_TempChange()
         {
-            btnMinus.MouseUpEventHandler = (sender, e) => {
-                //function as AC
+            btnMinus.MouseUpEventHandler = (sender, e) =>
+            {
+                if (aC.curTemp < 17)
+                {
+                    return;
+                }
+                aC.curTemp--;
+                arcBar.Progress = aC.curTemp;
+                btnTemp.Text = aC.curTemp.ToString();
+                Control.Send(CommandType_A.write, aC);
+            };
+            btnPlus.MouseUpEventHandler = (sender, e) =>
+            {
+                if (aC.curTemp > 37)
+                {
+                    return;
+                }
+                aC.curTemp++;
+                arcBar.Progress = aC.curTemp;
+                btnTemp.Text = aC.curTemp.ToString();
+                Control.Send(CommandType_A.write, aC);
+            };
+            arcBar.OnStopTrackingTouchEvent  = (sender,e) =>
+            {
+                aC.curTemp = arcBar.Progress;
+                btnTemp.Text = aC.curTemp.ToString();
+                Control.Send(CommandType_A.write, aC);
+            };
+            arcBar.OnProgressChangedEvent = (sender, e) =>
+            {
+                aC.curTemp = e;
+                btnTemp.Text = aC.curTemp.ToString();
             };
         }
-
         /// <summary>
         /// 鎺у埗妯″紡浜嬩欢
         /// </summary>
-        void LoadEvent_ModeChange()
+        void LoadEvent_AcStatesChange()
         {
+            btnMode.MouseUpEventHandler = (sender, e) =>
+            {
+                LoadDiv_ChangeModeView();
+            };
+            btnWindSpeed.MouseUpEventHandler = (sender, e) =>
+            {
+                LoadDiv_ChangeFanView();
+            };
 
+            btnSwitch.MouseUpEventHandler = (sender, e) =>
+            {
+                btnSwitch.IsSelected = !btnSwitch.IsSelected;
+                aC.on_off = btnSwitch.IsSelected ? "on" : "off";
+                Control.Send(CommandType_A.write, aC);
+            };
         }
 
 
+        /// <summary>
+        /// 鍔犺浇妯″紡鏀瑰彉浜嬩欢
+        /// </summary>
+        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.curValues = curMode;
+                Control.Send(CommandType_A.write, aC);
+                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.curValues = curFan;
+                Control.Send(CommandType_A.write, aC);
+                dialog.Close();
+            };
+            btn1.MouseUpEventHandler = eventHandler1;
+            btn2.MouseUpEventHandler = eventHandler1;
+            dialogView.MouseUpEventHandler = eventHandler;
+        }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0