From 587c36e27131f2d028fcabc13b296a8de7470034 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期三, 08 一月 2020 08:59:19 +0800
Subject: [PATCH] 2019.1.8

---
 ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs |  239 +++++++++++++++++++++++++----------------------------------
 1 files changed, 102 insertions(+), 137 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
index 82e94d9..4be7cd0 100644
--- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -1,13 +1,13 @@
 锘縰sing System;
 using System.Collections.Generic;
+using System.Timers;
 using Shared.Common;
 using Shared.Phone.Device.AC;
-using ZigBee.Device;
 using Shared.Phone.Device.CommonForm;
-using Shared.Phone.UserCenter.DoorLock;
-using System.Timers;
 using Shared.Phone.Device.DeviceLogic;
 using Shared.Phone.UserCenter;
+using Shared.Phone.UserCenter.DoorLock;
+using ZigBee.Device;
 
 namespace Shared.Phone.UserView
 {
@@ -1012,17 +1012,17 @@
                                         })
                                         { IsBackground = true }.Start();
 
-                                        var lightView = new FunctionMainView(xx, yy);
-                                        lightView.Tag = device;
-                                        itemView.AddChidren(lightView);
-                                        lightView.Init();
-                                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
-                                        lightView.SetStatuText(device.GetDeviceStatu());
-                                        lightView.SetDeviceName(rollerShade.DeviceEpointName);
-                                        lightView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100;
-                                        lightView.SetCollect(true);
+                                        var functionView = new FunctionMainView(xx, yy);
+                                        functionView.Tag = device;
+                                        itemView.AddChidren(functionView);
+                                        functionView.Init();
+                                        functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+                                        functionView.SetStatuText(device.GetDeviceStatu());
+                                        functionView.SetDeviceName(rollerShade.DeviceEpointName);
+                                        functionView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100;
+                                        functionView.SetCollect(true);
 
-                                        lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+                                        functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
                                         {
                                             (sender as Button).IsSelected = !(sender as Button).IsSelected;
                                             if ((sender as Button).IsSelected)
@@ -1079,7 +1079,7 @@
                                             }
                                         };
 
-                                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+                                        functionView.CardBG.MouseUpEventHandler += (sender, e) =>
                                         {
                                             CommonPage.Instance.IsDrawerLockMode = true;
                                             var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl();
@@ -1089,20 +1089,11 @@
                                             rollerShadeControl.Show(device, Room.CurrentRoom);
                                             rollerShadeControl.action += (curDev, curRoom) =>
                                             {
-                                                if (curRoom.Id != Common.Room.CurrentRoom.Id)
-                                                {
-                                                    Common.Room.CurrentRoom.DeleteDevice(device.FileName);
-                                                    ShowFunction();
-                                                }
-                                                else
-                                                {
-                                                    lightView.SetDeviceImage(curDev.IconPath, curDev.OnlineIconPath);
-                                                    lightView.SetDeviceName(curDev.CommonDevice.DeviceEpointName);
-                                                }
+                                                ReFreshEditDeviceAction(device, curRoom, functionView);
                                             };
                                         };
 
-                                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+                                        functionView.CollectButton.MouseUpEventHandler += collectionEvent;
                                     }
                                 }
                                 else if (device.CommonDevice.Type == DeviceType.OnOffOutput)
@@ -1131,27 +1122,27 @@
                                         })
                                         { IsBackground = true }.Start();
 
-                                        var lightView = new FunctionMainView(xx, yy);
-                                        itemView.AddChidren(lightView);
-                                        lightView.Init();
-                                        lightView.Tag = device;
-                                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
-                                        lightView.SetStatuText(device.GetDeviceStatu());
-                                        lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
-                                        lightView.IsSelected = light.OnOffStatus == 1;
-                                        lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
+                                        var functionView = new FunctionMainView(xx, yy);
+                                        itemView.AddChidren(functionView);
+                                        functionView.Init();
+                                        functionView.Tag = device;
+                                        functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+                                        functionView.SetStatuText(device.GetDeviceStatu());
+                                        functionView.SetDeviceName(device.CommonDevice.DeviceEpointName);
+                                        functionView.IsSelected = light.OnOffStatus == 1;
+                                        functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
 
                                         var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
                                         if (dev == null)
                                         {
-                                            lightView.CollectButton.IsSelected = false;
+                                            functionView.CollectButton.IsSelected = false;
                                         }
                                         else
                                         {
-                                            lightView.CollectButton.IsSelected = true;
+                                            functionView.CollectButton.IsSelected = true;
                                         }
 
-                                        lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+                                        functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
                                         {
                                             (sender as Button).IsSelected = !(sender as Button).IsSelected;
                                             if ((sender as Button).IsSelected)
@@ -1208,7 +1199,7 @@
                                             }
                                         };
 
-                                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+                                        functionView.CardBG.MouseUpEventHandler += (sender, e) =>
                                         {
                                             CommonPage.Instance.IsDrawerLockMode = true;
                                             if (device.CommonDevice.DfunctionType == DeviceFunctionType.A寮�鍏�)
@@ -1219,16 +1210,7 @@
                                                 lightControl.Show(device, Room.CurrentRoom);
                                                 lightControl.action += (curDev, curRoom) =>
                                                 {
-                                                    if (curRoom.Id != Common.Room.CurrentRoom.Id)
-                                                    {
-                                                        Common.Room.CurrentRoom.DeleteDevice(device.FileName);
-                                                        ShowFunction();
-                                                    }
-                                                    else
-                                                    {
-                                                        lightView.SetDeviceImage(curDev.IconPath, curDev.OnlineIconPath);
-                                                        lightView.SetDeviceName(curDev.CommonDevice.DeviceEpointName);
-                                                    }
+                                                    ReFreshEditDeviceAction(device, curRoom, functionView);
                                                 };
                                             }
                                             else if (device.CommonDevice.DfunctionType == DeviceFunctionType.A鎻掑骇)
@@ -1239,16 +1221,7 @@
                                                 lightControl.Show(device, Room.CurrentRoom);
                                                 lightControl.action += (curDev, curRoom) =>
                                                 {
-                                                    if (curRoom.Id != Common.Room.CurrentRoom.Id)
-                                                    {
-                                                        Common.Room.CurrentRoom.DeleteDevice(device.FileName);
-                                                        ShowFunction();
-                                                    }
-                                                    else
-                                                    {
-                                                        lightView.SetDeviceImage(curDev.IconPath, curDev.OnlineIconPath);
-                                                        lightView.SetDeviceName(curDev.CommonDevice.DeviceEpointName);
-                                                    }
+                                                    ReFreshEditDeviceAction(device, curRoom, functionView);
                                                 };
                                             }
                                             else
@@ -1259,21 +1232,12 @@
                                                 lightControl.Show(device, Room.CurrentRoom);
                                                 lightControl.action += (curDev, curRoom) =>
                                                 {
-                                                    if (curRoom.Id != Common.Room.CurrentRoom.Id)
-                                                    {
-                                                        Common.Room.CurrentRoom.DeleteDevice(device.FileName);
-                                                        ShowFunction();
-                                                    }
-                                                    else
-                                                    {
-                                                        lightView.SetDeviceImage(curDev.IconPath, curDev.OnlineIconPath);
-                                                        lightView.SetDeviceName(curDev.CommonDevice.DeviceEpointName);
-                                                    }
+                                                    ReFreshEditDeviceAction(device, curRoom, functionView);
                                                 };
                                             }
                                         };
 
-                                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+                                        functionView.CollectButton.MouseUpEventHandler += collectionEvent;
                                     }
                                 }
                                 else if (device.CommonDevice.Type == DeviceType.AirSwitch)
@@ -1302,17 +1266,17 @@
                                         })
                                         { IsBackground = true }.Start();
 
-                                        var lightView = new FunctionMainView(xx, yy);
-                                        itemView.AddChidren(lightView);
-                                        lightView.Init();
-                                        lightView.Tag = device;
-                                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
-                                        lightView.SetStatuText(device.GetDeviceStatu());
-                                        lightView.SetDeviceName(airSwitch.DeviceEpointName);
-                                        lightView.IsSelected = airSwitch.OnOffStatus == 1;
-                                        lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
+                                        var functionView = new FunctionMainView(xx, yy);
+                                        itemView.AddChidren(functionView);
+                                        functionView.Init();
+                                        functionView.Tag = device;
+                                        functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+                                        functionView.SetStatuText(device.GetDeviceStatu());
+                                        functionView.SetDeviceName(airSwitch.DeviceEpointName);
+                                        functionView.IsSelected = airSwitch.OnOffStatus == 1;
+                                        functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
 
-                                        lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+                                        functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
                                         {
                                             (sender as Button).IsSelected = !(sender as Button).IsSelected;
                                             if ((sender as Button).IsSelected)
@@ -1369,7 +1333,7 @@
                                             }
                                         };
 
-                                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+                                        functionView.CardBG.MouseUpEventHandler += (sender, e) =>
                                         {
                                             CommonPage.Instance.IsDrawerLockMode = true;
                                             var lightControl = new Phone.Device.Light.AirSwitchControl();
@@ -1378,21 +1342,12 @@
                                             lightControl.Show(device, Room.CurrentRoom);
                                             lightControl.action += (curDev, curRoom) =>
                                             {
-                                                if (curRoom.Id != Common.Room.CurrentRoom.Id)
-                                                {
-                                                    Common.Room.CurrentRoom.DeleteDevice(device.FileName);
-                                                    ShowFunction();
-                                                }
-                                                else
-                                                {
-                                                    lightView.SetDeviceImage(curDev.IconPath, curDev.OnlineIconPath);
-                                                    lightView.SetDeviceName(curDev.CommonDevice.DeviceEpointName);
-                                                }
+                                                ReFreshEditDeviceAction(device, curRoom, functionView);
                                             };
 
                                         };
 
-                                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+                                        functionView.CollectButton.MouseUpEventHandler += collectionEvent;
                                     }
                                 }
                                 else if (device.CommonDevice.Type == DeviceType.Thermostat)
@@ -1421,17 +1376,17 @@
                                         })
                                         { IsBackground = true }.Start();
 
-                                        var lightView = new FunctionMainView(xx, yy);
-                                        itemView.AddChidren(lightView);
-                                        lightView.Init();
-                                        lightView.Tag = device;
-                                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
-                                        lightView.SetStatuText(device.GetDeviceStatu());
-                                        lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
-                                        lightView.IsSelected = ac.currentSystemMode != 0;
-                                        lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
+                                        var functionView = new FunctionMainView(xx, yy);
+                                        itemView.AddChidren(functionView);
+                                        functionView.Init();
+                                        functionView.Tag = device;
+                                        functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+                                        functionView.SetStatuText(device.GetDeviceStatu());
+                                        functionView.SetDeviceName(device.CommonDevice.DeviceEpointName);
+                                        functionView.IsSelected = ac.currentSystemMode != 0;
+                                        functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
 
-                                        lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+                                        functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
                                         {
                                             (sender as Button).IsSelected = !(sender as Button).IsSelected;
                                             if ((sender as Button).IsSelected)
@@ -1488,7 +1443,7 @@
                                             }
                                         };
 
-                                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+                                        functionView.CardBG.MouseUpEventHandler += (sender, e) =>
                                         {
                                             CommonPage.Instance.IsDrawerLockMode = true;
                                             var lightControl = new Phone.Device.AC.ACControl();
@@ -1497,20 +1452,11 @@
                                             lightControl.Show(device, Room.CurrentRoom);
                                             lightControl.action += (curDev, curRoom) =>
                                             {
-                                                if (curRoom.Id != Common.Room.CurrentRoom.Id)
-                                                {
-                                                    Common.Room.CurrentRoom.DeleteDevice(device.FileName);
-                                                    ShowFunction();
-                                                }
-                                                else
-                                                {
-                                                    lightView.SetDeviceImage(curDev.IconPath, curDev.OnlineIconPath);
-                                                    lightView.SetDeviceName(curDev.CommonDevice.DeviceEpointName);
-                                                }
+                                                ReFreshEditDeviceAction(device, curRoom, functionView);
                                             };
                                         };
 
-                                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+                                        functionView.CollectButton.MouseUpEventHandler += collectionEvent;
                                     }
                                 }
                                 else if (device.CommonDevice.Type == DeviceType.DimmableLight)
@@ -1541,27 +1487,27 @@
                                         })
                                         { IsBackground = true }.Start();
 
-                                        var lightView = new FunctionMainView(xx, yy);
-                                        itemView.AddChidren(lightView);
-                                        lightView.Init();
-                                        lightView.Tag = device;
-                                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
-                                        lightView.SetStatuText(device.GetDeviceStatu());
-                                        lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
-                                        lightView.IsSelected = dimmableLight.OnOffStatus == 1;
-                                        lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
+                                        var functionView = new FunctionMainView(xx, yy);
+                                        itemView.AddChidren(functionView);
+                                        functionView.Init();
+                                        functionView.Tag = device;
+                                        functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+                                        functionView.SetStatuText(device.GetDeviceStatu());
+                                        functionView.SetDeviceName(device.CommonDevice.DeviceEpointName);
+                                        functionView.IsSelected = dimmableLight.OnOffStatus == 1;
+                                        functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
 
                                         var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
                                         if (dev == null)
                                         {
-                                            lightView.CollectButton.IsSelected = false;
+                                            functionView.CollectButton.IsSelected = false;
                                         }
                                         else
                                         {
-                                            lightView.CollectButton.IsSelected = true;
+                                            functionView.CollectButton.IsSelected = true;
                                         }
 
-                                        lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
+                                        functionView.SwitchButton.MouseUpEventHandler += (sender, e) =>
                                         {
                                             (sender as Button).IsSelected = !(sender as Button).IsSelected;
                                             if ((sender as Button).IsSelected)
@@ -1618,7 +1564,7 @@
                                             }
                                         };
 
-                                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
+                                        functionView.CardBG.MouseUpEventHandler += (sender, e) =>
                                         {
                                             CommonPage.Instance.IsDrawerLockMode = true;
                                             var dimmableLightControl = new Phone.Device.Light.DimmableLightControl();
@@ -1627,19 +1573,10 @@
                                             dimmableLightControl.Show(device, Room.CurrentRoom);
                                             dimmableLightControl.action += (curDev, curRoom) =>
                                             {
-                                                if (curRoom.Id != Common.Room.CurrentRoom.Id)
-                                                {
-                                                    Common.Room.CurrentRoom.DeleteDevice(device.FileName);
-                                                    ShowFunction();
-                                                }
-                                                else
-                                                {
-                                                    lightView.SetDeviceImage(curDev.IconPath, curDev.OnlineIconPath);
-                                                    lightView.SetDeviceName(curDev.CommonDevice.DeviceEpointName);
-                                                }
+                                                ReFreshEditDeviceAction(device, curRoom, functionView);
                                             };
                                         };
-                                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+                                        functionView.CollectButton.MouseUpEventHandler += collectionEvent;
                                     }
                                 }
                                 else if (device.CommonDevice.Type == DeviceType.IASZone)
@@ -1801,6 +1738,34 @@
             }
         }
 
+        /// <summary>
+        /// ReFreshEditDeviceAction
+        /// </summary>
+        /// <param name="device"></param>
+        /// <param name="curRoom"></param>
+        /// <param name="functionView"></param>
+        private void ReFreshEditDeviceAction(DeviceUI device, Common.Room curRoom, FunctionMainView functionView)
+        {
+            if (curRoom.Id != Common.Room.CurrentRoom.Id)
+            {
+                if (Common.Room.CurrentRoom.IsLove)
+                {
+                    functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+                    functionView.SetDeviceName(device.CommonDevice.DeviceEpointName);
+                }
+                else
+                {
+                    Common.Room.CurrentRoom.DeleteDevice(device.FileName);
+                    ShowFunction();
+                }
+            }
+            else
+            {
+                functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
+                functionView.SetDeviceName(device.CommonDevice.DeviceEpointName);
+            }
+        }
+
         #endregion
 
         #region 鈼� 鍦烘櫙_____________________________

--
Gitblit v1.8.0