From 965290476c027deb96891cde1095d9a100581a6b Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期四, 20 二月 2020 09:13:32 +0800
Subject: [PATCH] 2020-02-20 1.优化更新。

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/Fan/UserFan.cs |  159 ++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 102 insertions(+), 57 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Fan/UserFan.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Fan/UserFan.cs
index 5b5e284..594ed1d 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Fan/UserFan.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Fan/UserFan.cs
@@ -77,10 +77,11 @@
             };
             speedView.AddChidren (btnSpeed8);
             btnSpeed8.MouseDownEventHandler += (sender, e) => {
-                fanModule.Switch = fanModule.WindSpeed = 8;
-                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 8 });
-                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
-                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                //fanModule.Switch = fanModule.WindSpeed = 8;
+                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 8 });
+                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
+                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                SendControlFan (fanModule, 8);
             };
 
             Button btnSpeed1 = new Button () {
@@ -92,11 +93,13 @@
             };
             speedView.AddChidren (btnSpeed1);
             btnSpeed1.MouseDownEventHandler += (sender, e) => {
-                btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
-                fanModule.Switch = fanModule.WindSpeed = 1;
-                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 1 });
-                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
-                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
+                //fanModule.Switch = fanModule.WindSpeed = 1;
+                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 1 });
+                
+                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
+                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                SendControlFan (fanModule, 1);
             };
 
             Button btnSpeed2 = new Button () {
@@ -108,11 +111,13 @@
             };
             speedView.AddChidren (btnSpeed2);
             btnSpeed2.MouseDownEventHandler += (sender, e) => {
-                btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
-                fanModule.Switch = fanModule.WindSpeed = 2;
-                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 2 });
-                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
-                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
+                //fanModule.Switch = fanModule.WindSpeed = 2;
+                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 2 });
+               
+                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
+                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                SendControlFan (fanModule, 2);
             };
 
             Button btnSpeed3 = new Button () {
@@ -124,11 +129,13 @@
             };
             speedView.AddChidren (btnSpeed3);
             btnSpeed3.MouseDownEventHandler += (sender, e) => {
-                btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
-                fanModule.Switch = fanModule.WindSpeed = 3;
-                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 3 });
-                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
-                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
+                //fanModule.Switch = fanModule.WindSpeed = 3;
+                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 3 });
+              
+                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
+                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                SendControlFan (fanModule, 3);
             };
             Button btnSpeed4 = new Button () {
                 X = btnSpeed1.X,
@@ -139,11 +146,13 @@
             };
             speedView.AddChidren (btnSpeed4);
             btnSpeed4.MouseDownEventHandler += (sender, e) => {
-                btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
-                fanModule.Switch = fanModule.WindSpeed = 4;
-                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 4 });
-                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.WindSpeed.ToString () + ".png";
-                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
+                //fanModule.Switch = fanModule.WindSpeed = 4;
+                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 4 });
+             
+                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.WindSpeed.ToString () + ".png";
+                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                SendControlFan (fanModule, 4);
             };
             Button btnSpeed5 = new Button () {
                 X = btnSpeed8.X,
@@ -155,11 +164,13 @@
             };
             speedView.AddChidren (btnSpeed5);
             btnSpeed5.MouseDownEventHandler += (sender, e) => {
-                btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
-                fanModule.Switch = fanModule.WindSpeed = 5;
-                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 5 });
-                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
-                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
+                //fanModule.Switch = fanModule.WindSpeed = 5;
+                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 5 });
+               
+                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
+                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                SendControlFan (fanModule, 5);
             };
             Button btnSpeed6 = new Button () {
                 X = Application.GetRealWidth (20),
@@ -170,11 +181,13 @@
             };
             speedView.AddChidren (btnSpeed6);
             btnSpeed6.MouseDownEventHandler += (sender, e) => {
-                btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
-                fanModule.Switch = fanModule.WindSpeed = 6;
-                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 6 });
-                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
-                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
+                //fanModule.Switch = fanModule.WindSpeed = 6;
+                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 6 });
+                
+                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
+                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                SendControlFan (fanModule, 6);
             };
             Button btnSpeed7 = new Button () {
                 X = Application.GetRealWidth (20),
@@ -185,11 +198,13 @@
             };
             speedView.AddChidren (btnSpeed7);
             btnSpeed7.MouseDownEventHandler += (sender, e) => {
-                btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
-                fanModule.Switch = fanModule.WindSpeed = 7;
-                Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 7 });
-                speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
-                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
+                //fanModule.Switch = fanModule.WindSpeed = 7;
+                ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 7 });
+                
+                //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
+                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                SendControlFan (fanModule, 7);
             };
 
             btnSwitch = new Button () {
@@ -215,32 +230,41 @@
 
             btnSwitch.MouseDownEventHandler += (sender, e) => {
                 if (btnSwitch.IsSelected) {
-                    btnBottomSwitch.IsSelected = btnSwitch.IsSelected = false;
-                    fanModule.Switch = 0;
-                    Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, fanModule.Switch });
-                    speedView.BackgroundImagePath = "Fan/Speed0.png";
+                    //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = false;
+                    //fanModule.Switch = 0;
+                    ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, fanModule.Switch });
+                    //SendControlFan (fanModule, fanModule.Switch);
+                    //speedView.BackgroundImagePath = "Fan/Speed0.png";
+
+                    SendControlFan (fanModule, 0);
                 } else {
-                    btnSwitch.IsSelected = btnBottomSwitch.IsSelected = true;
-                    fanModule.Switch = fanModule.WindSpeed;
-                    Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, fanModule.WindSpeed });
-                    speedView.BackgroundImagePath = "Fan/Speed" + fanModule.WindSpeed.ToString () + ".png";
+                    //btnSwitch.IsSelected = btnBottomSwitch.IsSelected = true;
+                    //fanModule.Switch = fanModule.WindSpeed;
+                    ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, fanModule.WindSpeed });
+                    //SendControlFan (fanModule, fanModule.WindSpeed);
+                    //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.WindSpeed.ToString () + ".png";
+                    SendControlFan (fanModule, fanModule.WindSpeed);
                 }
-                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
             };
 
             btnBottomSwitch.MouseDownEventHandler += (sender, e) => {
                 if (btnBottomSwitch.IsSelected) {
-                    btnBottomSwitch.IsSelected = btnSwitch.IsSelected = false;
-                    fanModule.Switch = 0;
-                    Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, fanModule.Switch });
-                    speedView.BackgroundImagePath = "Fan/Speed0.png";
+                    //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = false;
+                    //fanModule.Switch = 0;
+                    ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, fanModule.Switch });
+                    //SendControlFan (fanModule, fanModule.Switch);
+                    //speedView.BackgroundImagePath = "Fan/Speed0.png";
+                    SendControlFan (fanModule, 0);
                 } else {
-                    btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
-                    fanModule.Switch = fanModule.WindSpeed;
-                    Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, fanModule.WindSpeed });
-                    speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
+                    //btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true;
+                    //fanModule.Switch = fanModule.WindSpeed;
+                    ////Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, fanModule.WindSpeed });
+                    //SendControlFan (fanModule, fanModule.WindSpeed);
+                    //speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
+                    SendControlFan (fanModule, fanModule.WindSpeed);
                 }
-                IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
+                //IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ());
             };
             Control.ControlBytesSend (Command.ReadLightEquipmentAllLoopBrightness, fanModule.SubnetID, fanModule.DeviceID,new byte [] { });
             speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png";
@@ -264,5 +288,26 @@
                 }
             });
         }
+
+        /// <summary>
+        /// //2020-02-10 甯﹁繑鍥炵粨鏋滅殑椋庢墖鎺у埗
+        /// </summary>
+        /// <param name="mFanModule"></param>
+        /// <param name="sendByte"></param>
+        void SendControlFan (FanModule mFanModule, byte sendByte) {
+            
+            MainPage.Loading.Start ("Sending...");
+          
+            System.Threading.Tasks.Task.Run (() => {
+                byte [] returnBytes = Control.ControlBytesSendHasReturn (Command.SetSingleLight, mFanModule.SubnetID, mFanModule.DeviceID, new byte [] { mFanModule.LoopID, sendByte });
+                //byte [] returnBytes = Control.ControlBytesSendHasReturn (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, fanModule.Switch });
+                Application.RunOnMainThread (() => {
+                    if (returnBytes == null) {
+                        new Alert ("", mFanModule.Name + ErrorCode.ControlFailure, "Close").Show ();      
+                    }
+                    MainPage.Loading.Hide ();
+                });
+            });
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0