From 944b87b6bcccb095cd73f13f4410fb20faf48f74 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期三, 25 十二月 2019 11:21:06 +0800 Subject: [PATCH] 2019.12.25 --- ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 1413 ++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 768 insertions(+), 645 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs index 2b2ee9c..7246ed5 100644 --- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs +++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs @@ -7,6 +7,7 @@ using Shared.Phone.UserCenter.DoorLock; using System.Timers; using Shared.Phone.Device.DeviceLogic; +using Shared.Phone.UserCenter; namespace Shared.Phone.UserView { @@ -88,6 +89,8 @@ /// sceneScrolView /// </summary> private VerticalScrolViewLayout sceneScrolView ; + + #endregion #region 鈼� 鎺ュ彛____________________________ @@ -135,7 +138,7 @@ continue; } - for (int j=0;j<rowFL.ChildrenCount;j++) + for (int j = 0; j < rowFL.ChildrenCount; j++) { var deviceUI = (rowFL.GetChildren(j) as FunctionMainView).Tag as DeviceUI; if (deviceUI == null || deviceUI.CommonDevice == null) @@ -221,9 +224,9 @@ var ac = deviceUI.CommonDevice as ZigBee.Device.AC; ac.DeviceStatusReport = common.DeviceStatusReport; var attriButeList = ac.DeviceStatusReport.AttriBute; - foreach(var attList in attriButeList) + foreach (var attList in attriButeList) { - var curTemp = (attList.AttriButeData / 100 < ACControlBase.Temperature_High || attList.AttriButeData / 100 > ACControlBase.Temperature_Low) ? attList.AttriButeData / 100 : ACControlBase.Temperature_Default; + var curTemp = (attList.AttriButeData / 100 < ACControlBase.Temperature_High && attList.AttriButeData / 100 > ACControlBase.Temperature_Low) ? attList.AttriButeData / 100 : ACControlBase.Temperature_Default; switch (attList.AttributeId) { case 0: @@ -270,7 +273,7 @@ var ac = deviceUI.CommonDevice as ZigBee.Device.AC; var attriButeList = common.DeviceStatusReport.AttriBute; ac.DeviceStatusReport = common.DeviceStatusReport; - foreach(var attList in attriButeList) + foreach (var attList in attriButeList) { switch (attList.AttributeId) { @@ -336,7 +339,56 @@ } }); } + else if (typeTag == "IASInfoReport") + { + Application.RunOnMainThread(() => + { + try + { + for (int i = 0; deviceVerticalScrolViewLayout != null && i < deviceVerticalScrolViewLayout.ChildrenCount; i++) + { + var rowFL = deviceVerticalScrolViewLayout.GetChildren(i) as FrameLayout; + if (rowFL.ChildrenCount == 0) + { + //璁惧涓虹┖鎴栬�呮帶浠朵负绌� + continue; + } + + for (int j = 0; j < rowFL.ChildrenCount; j++) + { + var deviceUI = (rowFL.GetChildren(j) as FunctionMainView).Tag as DeviceUI; + if (deviceUI == null || deviceUI.CommonDevice == null) + { + //璁惧涓虹┖鎴栬�呮帶浠朵负绌� + continue; + } + if (common.DeviceAddr != deviceUI.CommonDevice.DeviceAddr || common.DeviceEpoint != deviceUI.CommonDevice.DeviceEpoint) + { + //鍒ゆ柇鏄惁涓哄綋鍓嶈澶� + continue; + } + switch (deviceUI.CommonDevice.Type) + { + case DeviceType.IASZone: + //ias + var ias = common as IASZone; + var iAS = deviceUI.CommonDevice as ZigBee.Device.IASZone; + iAS.iASInfo = ias.iASInfo; + (rowFL.GetChildren(j) as FunctionMainView).IsSelected = iAS.iASInfo?.Alarm1 == 1; + (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); + iAS.LastDateTime = DateTime.Now; + break; + } + } + } + } + catch (Exception ex) + { + System.Console.WriteLine($"Error:{ex.Message}"); + } + }); + } } /// <summary> /// Changeds the IL ogic status. @@ -419,22 +471,27 @@ Gravity = Gravity.CenterVertical, TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.GXCTextColor, - Text = Config.Instance.Home.GetCurrentFloorName + Text = Config.Instance.Home.GetCurrentFloorName, + IsBold=true }; if (Config.Instance.Home.FloorDics.Count > 0) { topFrameLayout.AddChidren(floorBtn); } - var messageBtn = new Button() + if(UserCenterResourse.Option.SafetyShortcut) { - X = Application.GetRealWidth(953), - Width = Application.GetMinRealAverage(69), - Height = Application.GetMinRealAverage(69), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/Message.png", - SelectedImagePath = "Item/MessageSelected.png" - }; + var safetyBtn = new SafetyShortcutControl(); + safetyBtn.X = Application.GetRealWidth(855); + safetyBtn.Gravity = Gravity.CenterVertical; + topFrameLayout.AddChidren(safetyBtn); + } + + var messageBtn = new MessageManagementControl(); + messageBtn.X = Application.GetRealWidth(953); + messageBtn.Gravity = Gravity.CenterVertical; + messageBtn.UnSelectedImagePath = "Item/Message.png"; + messageBtn.SelectedImagePath = "Item/MessageSelected.png"; topFrameLayout.AddChidren(messageBtn); var residecneName = new Button() @@ -605,7 +662,7 @@ pointBtn.IsSelected = false; nameBtn.IsSelected = false; } - }; + } } }; //娑堟伅 @@ -627,23 +684,30 @@ }; AddChidren(roomPageView); //绐佸嚭杈硅窛 - roomPageView.TCBJ = Application.GetRealWidth(112); + roomPageView.TCBJ = Application.GetRealWidth(181); //涓や釜page涔嬮棿鐨勯棿璺� - roomPageView.JMBJ = Application.GetRealWidth(69); + roomPageView.JMBJ = Application.GetRealWidth(0); //褰撳墠鎴块棿 - //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom; var rList = Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom(); - Room.CurrentRoom = rList[0]; + Room.CurrentRoom = Room.CurrentRoom ?? rList[0]; foreach (var room in rList) { var roomView = new Device.CommonForm.RoomView(0, 0); roomPageView.AddChidren(roomView); roomView.Init(room); + roomView.HideName(true); roomView.action += () => { Show(); }; + } + var curIndex = rList.FindIndex((obj) => obj.Id == Room.CurrentRoom.Id); + roomPageView.PageIndex = curIndex; + if (roomPageView.GetChildren(roomPageView.PageIndex) != null) + { + (roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(false); + } var functionSceneView = new FrameLayout() @@ -724,9 +788,22 @@ roomPageView.PageChange += (sender, e) => { + if(roomPageView.GetChildren(roomPageView.PageIndex - 1) !=null) + { + (roomPageView.GetChildren(roomPageView.PageIndex - 1) as RoomView).HideName(true); + } + if (roomPageView.GetChildren(roomPageView.PageIndex + 1) != null) + { + (roomPageView.GetChildren(roomPageView.PageIndex + 1) as RoomView).HideName(true); + } + if (roomPageView.GetChildren(roomPageView.PageIndex) != null) + { + (roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(false); + } //鍒囨崲褰撳墠鎴块棿 Room.CurrentRoom = rList[roomPageView.PageIndex]; RefreshBodyView(); + }; } else @@ -900,6 +977,7 @@ Height = Application.GetRealHeight(200), Text = Language.StringByID(R.MyInternationalizationString.NoFunction_Tip).Replace("{\\r\\n}", "\r\n"), TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, + TextAlignment=TextAlignment.Center, IsMoreLines = true }; functionSceneBodyView.AddChidren(noFunctionTip); @@ -923,683 +1001,727 @@ } else { - deviceVerticalScrolViewLayout = new VerticalScrolViewLayout { }; - - functionSceneBodyView.AddChidren(deviceVerticalScrolViewLayout); - for (int i = 0; i < deviceList.Count; i++) + var dList = new List<DeviceUI> { }; + foreach(var device in deviceList) { - int t = i % 2; - int tt = i / 2; - int xx = 43 + i % 2 * (20 + 487); - int yy = 14; - var device = deviceList[i]; - if (device == null || device.CommonDevice == null) + var info = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice> { device.CommonDevice }); + if (info.BeloneType == DeviceBeloneType.A骞叉帴鐐� || info.BeloneType == DeviceBeloneType.A涓户鍣�) { continue; } + dList.Add(device); + } - if (i % 2 == 0) - { - itemView = new FrameLayout() + deviceVerticalScrolViewLayout = new VerticalScrolViewLayout { }; + functionSceneBodyView.AddChidren(deviceVerticalScrolViewLayout); + for (int i = 0; i < dList.Count; i++) + { + var device = dList[i]; + //new System.Threading.Thread(() => + //{ + Application.RunOnMainThread(() => { - Height = Application.GetRealHeight(14 + 348), - }; - deviceVerticalScrolViewLayout.AddChidren(itemView); - } - - //鏀惰棌 - EventHandler<MouseEventArgs> collectionEvent = (sender, e) => - { - if ((sender as Button).IsSelected) - { - Shared.Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(device.FileName); - (sender as Button).IsSelected = false; - } - else - { - Shared.Common.Room.CurrentRoom.GetLoveRoom().AddDevice(device.FileName); - (sender as Button).IsSelected = true; - } - if (Room.CurrentRoom.IsLove) - { - RefreshBodyView(); - } - }; - - //////鍒ゆ柇璁惧鏄惁鏀寔鐨勫睘鎬� 濡傚紑鍏崇瓑鎺у埗 - if (device.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice) - { - //绐楀笜 鍗峰笜 - var rollerShade = (ZigBee.Device.Rollershade)device.CommonDevice; - //涓嶄笂闈炶繙绋� - if (rollerShade.Gateway == null) - { - continue; - } - if (rollerShade.Gateway.IsVirtual) - { - //鍙戦�佽鍙栫姸鎬佸懡浠� - ReadStatus(rollerShade, () => + try { - ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device.CommonDevice); - }); - } - else - { - if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - rollerShade.LastDateTime).TotalSeconds) - { - ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device.CommonDevice); - } - } - 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.SetStatu(true); - lightView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100; - lightView.SetCollect(true); - - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => - { - (sender as Button).IsSelected = !(sender as Button).IsSelected; - if ((sender as Button).IsSelected) - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - (device.CommonDevice as Rollershade).CurtainUpDownStopControl(0); - - ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true)); - ((sender as Button).Parent as FunctionMainView).IsSelected = true; - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + int t = i % 2; + int tt = i / 2; + int xx = 43 + i % 2 * (20 + 487); + int yy = 14; + if (i % 2 == 0) { - if (Parent == null) + itemView = new FrameLayout() { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - } - else - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - (device.CommonDevice as Rollershade).CurtainUpDownStopControl(1); - - ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false)); - ((sender as Button).Parent as FunctionMainView).IsSelected = false; - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + Height = Application.GetRealHeight(14 + 348), + }; + deviceVerticalScrolViewLayout.AddChidren(itemView); + } + //鏀惰棌 + EventHandler<MouseEventArgs> collectionEvent = (sender, e) => { - if (Parent == null) + if ((sender as Button).IsSelected) { - return; + Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(device.FileName); + (sender as Button).IsSelected = false; } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) + else { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + Common.Room.CurrentRoom.GetLoveRoom().AddDevice(device.FileName); + (sender as Button).IsSelected = true; } - }); - } - }; + if (Room.CurrentRoom.IsLove) + { + RefreshBodyView(); + } + }; - lightView.CardBG.MouseUpEventHandler += (sender, e) => - { - CommonPage.Instance.IsDrawerLockMode = true; - var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl(); - UserView.HomePage.Instance.AddChidren(rollerShadeControl); - UserView.HomePage.Instance.PageIndex += 1; - UserView.HomePage.Instance.ScrollEnabled = false; - //rollerShadeControl.action = RefreshBodyView; - rollerShadeControl.Show(device, Room.CurrentRoom); - }; - - lightView.CollectButton.MouseUpEventHandler += collectionEvent; - } - else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput) - { - //寮�鍏崇伅 - var light = device.CommonDevice as ToggleLight; - - //琛ヤ笂闈炶繙绋� - if (light.Gateway == null) - { - continue; - } - if (light.Gateway.IsVirtual) - { - //鍙戦�佽鍙栫姸鎬佸懡浠� - ReadStatus(light, () => - { - ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice); - }); - } - else - { - if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - light.LastDateTime).TotalSeconds) - { - ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice); - } - } - - 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 dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); - if (dev == null) - { - lightView.CollectButton.IsSelected = false; - } - else - { - lightView.CollectButton.IsSelected = true; - } - - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => - { - (sender as Button).IsSelected = !(sender as Button).IsSelected; - if ((sender as Button).IsSelected) - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - light.SwitchControl(1); - - ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); - ((sender as Button).Parent as FunctionMainView).IsSelected = true; - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + if (device.CommonDevice.Type == DeviceType.WindowCoveringDevice) { - if (Parent == null) + //绐楀笜 鍗峰笜 + var rollerShade = (ZigBee.Device.Rollershade)device.CommonDevice; + if (rollerShade.Gateway != null) { - return; + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(100 * i); + if (rollerShade.Gateway.IsVirtual) + { + ReadStatus(rollerShade, () => + { + ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device.CommonDevice); + }); + } + else + { + if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - rollerShade.LastDateTime).TotalSeconds) + { + ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device.CommonDevice); + } + } + }) + { 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.SetStatu(true); + lightView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100; + lightView.SetCollect(true); + + lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + { + (sender as Button).IsSelected = !(sender as Button).IsSelected; + if ((sender as Button).IsSelected) + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + (device.CommonDevice as Rollershade).CurtainUpDownStopControl(0); + + ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true)); + ((sender as Button).Parent as FunctionMainView).IsSelected = true; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } + else + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + (device.CommonDevice as Rollershade).CurtainUpDownStopControl(1); + + ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false)); + ((sender as Button).Parent as FunctionMainView).IsSelected = false; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } + }; + + lightView.CardBG.MouseUpEventHandler += (sender, e) => + { + CommonPage.Instance.IsDrawerLockMode = true; + var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl(); + UserView.HomePage.Instance.AddChidren(rollerShadeControl); + UserView.HomePage.Instance.PageIndex += 1; + UserView.HomePage.Instance.ScrollEnabled = false; + //rollerShadeControl.action = RefreshBodyView; + rollerShadeControl.Show(device, Room.CurrentRoom); + }; + + lightView.CollectButton.MouseUpEventHandler += collectionEvent; } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - } - else - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - light.SwitchControl(0); - - ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); - ((sender as Button).Parent as FunctionMainView).IsSelected = false; - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + } + else if (device.CommonDevice.Type == DeviceType.OnOffOutput) { - if (Parent == null) + //寮�鍏崇伅 + var light = device.CommonDevice as ToggleLight; + if (light.Gateway != null) { - return; + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(100 * i); + if (light.Gateway.IsVirtual) + { + ReadStatus(light, () => + { + ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice); + }); + } + else + { + if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - light.LastDateTime).TotalSeconds) + { + ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice); + } + } + }) + { 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 dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); + if (dev == null) + { + lightView.CollectButton.IsSelected = false; + } + else + { + lightView.CollectButton.IsSelected = true; + } + + lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + { + (sender as Button).IsSelected = !(sender as Button).IsSelected; + if ((sender as Button).IsSelected) + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + light.SwitchControl(1); + + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); + ((sender as Button).Parent as FunctionMainView).IsSelected = true; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } + else + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + light.SwitchControl(0); + + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); + ((sender as Button).Parent as FunctionMainView).IsSelected = false; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } + }; + + lightView.CardBG.MouseUpEventHandler += (sender, e) => + { + CommonPage.Instance.IsDrawerLockMode = true; + if (device.CommonDevice.DfunctionType == DeviceFunctionType.A寮�鍏�) + { + var lightControl = new Phone.Device.Light.OnOffControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + //lightControl.action = RefreshBodyView; + lightControl.Show(device, Room.CurrentRoom); + } + else if (device.CommonDevice.DfunctionType == DeviceFunctionType.A鎻掑骇) + { + var lightControl = new Phone.Device.Light.PlugControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + //lightControl.action = RefreshBodyView; + lightControl.Show(device, Room.CurrentRoom); + } + else + { + var lightControl = new Phone.Device.Light.LightControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + //lightControl.action = RefreshBodyView; + lightControl.Show(device, Room.CurrentRoom); + } + }; + + lightView.CollectButton.MouseUpEventHandler += collectionEvent; } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - } - }; - - lightView.CardBG.MouseUpEventHandler += (sender, e) => - { - CommonPage.Instance.IsDrawerLockMode = true; - if (device.CommonDevice.DfunctionType == DeviceFunctionType.A寮�鍏�) - { - var lightControl = new Phone.Device.Light.OnOffControl(); - UserView.HomePage.Instance.AddChidren(lightControl); - UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; - lightControl.Show(device, Room.CurrentRoom); - } - else if (device.CommonDevice.DfunctionType == DeviceFunctionType.A鎻掑骇) - { - var lightControl = new Phone.Device.Light.PlugControl(); - UserView.HomePage.Instance.AddChidren(lightControl); - UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; - lightControl.Show(device, Room.CurrentRoom); - } - else - { - var lightControl = new Phone.Device.Light.LightControl(); - UserView.HomePage.Instance.AddChidren(lightControl); - UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; - lightControl.Show(device, Room.CurrentRoom); - } - }; - - lightView.CollectButton.MouseUpEventHandler += collectionEvent; - - } - else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch) - { - //绌烘皵寮�鍏� - var airSwitch = device.CommonDevice as AirSwitch; - //琛ヤ笂闈炶繙绋� - if (airSwitch.Gateway == null) - { - continue; - } - if (airSwitch.Gateway.IsVirtual) - { - //鍙戦�佽鍙栫姸鎬佸懡浠� - ReadStatus(airSwitch, () => - { - ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice); - }); - } - else - { - //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� - if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) - { - ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice); - } - } - - 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.SetStatu(true); - lightView.IsSelected = airSwitch.OnOffStatus == 1; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); - - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => - { - (sender as Button).IsSelected = !(sender as Button).IsSelected; - if ((sender as Button).IsSelected) - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - airSwitch.SwitchControl(1); - - ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); - ((sender as Button).Parent as FunctionMainView).IsSelected = true; - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + } + else if (device.CommonDevice.Type == DeviceType.AirSwitch) { - if (Parent == null) + //绌烘皵寮�鍏� + var airSwitch = device.CommonDevice as AirSwitch; + if (airSwitch.Gateway != null) { - return; + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(100 * i); + if (airSwitch.Gateway.IsVirtual) + { + ReadStatus(airSwitch, () => + { + ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice); + }); + } + else + { + if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) + { + ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice); + } + } + }) + { 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.SetStatu(true); + lightView.IsSelected = airSwitch.OnOffStatus == 1; + lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + + lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + { + (sender as Button).IsSelected = !(sender as Button).IsSelected; + if ((sender as Button).IsSelected) + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + airSwitch.SwitchControl(1); + + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); + ((sender as Button).Parent as FunctionMainView).IsSelected = true; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } + else + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + airSwitch.SwitchControl(0); + + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); + ((sender as Button).Parent as FunctionMainView).IsSelected = false; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } + }; + + lightView.CardBG.MouseUpEventHandler += (sender, e) => + { + CommonPage.Instance.IsDrawerLockMode = true; + var lightControl = new Phone.Device.Light.AirSwitchControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + //lightControl.action = RefreshBodyView; + lightControl.Show(device, Room.CurrentRoom); + }; + + lightView.CollectButton.MouseUpEventHandler += collectionEvent; } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - } - else - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - airSwitch.SwitchControl(0); - - ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); - ((sender as Button).Parent as FunctionMainView).IsSelected = false; - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + } + else if (device.CommonDevice.Type == DeviceType.Thermostat) { - if (Parent == null) + //鎭掓俯鍣�-AC-绌鸿皟 + var ac = device.CommonDevice as AC; + if (ac.Gateway != null) { - return; + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(100 * i); + if (ac.Gateway.IsVirtual) + { + ReadStatus(ac, () => + { + ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice); + }); + } + else + { + if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) + { + ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice); + } + } + }) + { 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)); + + lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + { + (sender as Button).IsSelected = !(sender as Button).IsSelected; + if ((sender as Button).IsSelected) + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + ac.Open(); + + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); + ((sender as Button).Parent as FunctionMainView).IsSelected = true; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } + else + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + ac.Close(); + + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); + ((sender as Button).Parent as FunctionMainView).IsSelected = false; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } + }; + + lightView.CardBG.MouseUpEventHandler += (sender, e) => + { + CommonPage.Instance.IsDrawerLockMode = true; + var lightControl = new Phone.Device.AC.ACControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + //lightControl.action = RefreshBodyView; + lightControl.Show(device, Room.CurrentRoom); + }; + + lightView.CollectButton.MouseUpEventHandler += collectionEvent; } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - } - }; - - lightView.CardBG.MouseUpEventHandler += (sender, e) => - { - CommonPage.Instance.IsDrawerLockMode = true; - var lightControl = new Phone.Device.Light.AirSwitchControl(); - UserView.HomePage.Instance.AddChidren(lightControl); - UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; - lightControl.Show(device, Room.CurrentRoom); - }; - - lightView.CollectButton.MouseUpEventHandler += collectionEvent; - } - else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat) - { - //鎭掓俯鍣�-AC-绌鸿皟 - var ac = device.CommonDevice as AC; - - //琛ヤ笂闈炶繙绋� - if (ac.Gateway == null) - { - continue; - } - if (ac.Gateway.IsVirtual) - { - //鍙戦�佽鍙栫姸鎬佸懡浠� - ReadStatus(ac, () => - { - ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice); - }); - } - else - { - //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� - if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) - { - ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice); - } - } - 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)); - - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => - { - (sender as Button).IsSelected = !(sender as Button).IsSelected; - if ((sender as Button).IsSelected) - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - ac.Open(); - - ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); - ((sender as Button).Parent as FunctionMainView).IsSelected = true; - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + } + else if (device.CommonDevice.Type == DeviceType.DimmableLight) { - if (Parent == null) + //璋冨厜鐏� + var dimmableLight = device.CommonDevice as DimmableLight; + if (dimmableLight.Gateway != null) { - return; + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(100 * i); + if (dimmableLight.Gateway.IsVirtual) + { + //鍙戦�佽鍙栫姸鎬佸懡浠� + ReadStatus(dimmableLight, () => + { + ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(device.CommonDevice); + }); + } + else + { + //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� + if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) + { + ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(device.CommonDevice); + } + } + }) + { 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 dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); + if (dev == null) + { + lightView.CollectButton.IsSelected = false; + } + else + { + lightView.CollectButton.IsSelected = true; + } + + lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + { + (sender as Button).IsSelected = !(sender as Button).IsSelected; + if ((sender as Button).IsSelected) + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + dimmableLight.SwitchControl(1); + + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); + ((sender as Button).Parent as FunctionMainView).IsSelected = true; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } + else + { + zbGateway = device.CommonDevice.Gateway; + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); + + dimmableLight.SwitchControl(0); + + ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); + ((sender as Button).Parent as FunctionMainView).IsSelected = false; + + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(zbGateway); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } + }; + + lightView.CardBG.MouseUpEventHandler += (sender, e) => + { + CommonPage.Instance.IsDrawerLockMode = true; + var dimmableLightControl = new Phone.Device.Light.DimmableLightControl(); + UserView.HomePage.Instance.AddChidren(dimmableLightControl); + UserView.HomePage.Instance.PageIndex += 1; + //dimmableLightControl.action = RefreshBodyView; + dimmableLightControl.Show(device, Room.CurrentRoom); + }; + lightView.CollectButton.MouseUpEventHandler += collectionEvent; } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); - } - else - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - ac.Close(); - - ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); - ((sender as Button).Parent as FunctionMainView).IsSelected = false; - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + } + else if (device.CommonDevice.Type == DeviceType.IASZone) { - if (Parent == null) + //鍚勭被浼犳劅鍣� + var ias = device.CommonDevice as IASZone; + + 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 = ias.iASInfo?.Alarm1 == 1; + lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + lightView.CanControl(false); + var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); + if (dev == null) { - return; + lightView.CollectButton.IsSelected = false; } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) + else { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + lightView.CollectButton.IsSelected = true; } - }); - } - }; - - lightView.CardBG.MouseUpEventHandler += (sender, e) => - { - CommonPage.Instance.IsDrawerLockMode = true; - var lightControl = new Phone.Device.AC.ACControl(); - UserView.HomePage.Instance.AddChidren(lightControl); - UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; - lightControl.Show(device, Room.CurrentRoom); - }; - - lightView.CollectButton.MouseUpEventHandler += collectionEvent; - } - else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight) - { - //璋冨厜鐏� - var dimmableLight = device.CommonDevice as DimmableLight; - //琛ヤ笂闈炶繙绋� - if (dimmableLight.Gateway == null) - { - continue; - } - if (dimmableLight.Gateway.IsVirtual) - { - //鍙戦�佽鍙栫姸鎬佸懡浠� - ReadStatus(dimmableLight, () => - { - ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(device.CommonDevice); - }); - } - else - { - //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� - if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) - { - ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(device.CommonDevice); - } - } - - 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 dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); - if (dev == null) - { - lightView.CollectButton.IsSelected = false; - } - else - { - lightView.CollectButton.IsSelected = true; - } - - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => - { - (sender as Button).IsSelected = !(sender as Button).IsSelected; - if ((sender as Button).IsSelected) - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - - dimmableLight.SwitchControl(1); - - ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); - ((sender as Button).Parent as FunctionMainView).IsSelected = true; - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + lightView.CollectButton.MouseUpEventHandler += collectionEvent; + } + else if (device.CommonDevice.Type == DeviceType.DoorLock) { - if (Parent == null) + //闂ㄩ攣 + var dimmableLight = device.CommonDevice as DoorLock; + + 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.IsOnline == 1; + lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + lightView.CanControl(false); + var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); + if (dev == null) { - return; + lightView.CollectButton.IsSelected = false; } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) + else { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + lightView.CollectButton.IsSelected = true; } - }); - } - else - { - zbGateway = device.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice); - dimmableLight.SwitchControl(0); - - ((sender as Button).Parent as FunctionMainView).SetStatuText(device.GetDeviceStatu()); - ((sender as Button).Parent as FunctionMainView).IsSelected = false; - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + lightView.CardBG.MouseUpEventHandler += (sender, e) => + { + CommonPage.Instance.IsDrawerLockMode = true; + var userDoorLockPage = new UserDoorLockPage(Room.CurrentRoom, device); + HomePage.Instance.AddChidren(userDoorLockPage); + HomePage.Instance.PageIndex += 1; + userDoorLockPage.Show(); + }; + lightView.CollectButton.MouseUpEventHandler += collectionEvent; + } + else { - if (Parent == null) + 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.CanControl(false); + lightView.IsSelected = device.CommonDevice.IsOnline == 1; + lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + + var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); + if (dev == null) { - return; + lightView.CollectButton.IsSelected = false; } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) + else { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + lightView.CollectButton.IsSelected = true; } - }); + lightView.CollectButton.MouseUpEventHandler += collectionEvent; + } } - }; + catch(Exception ex) + { - lightView.CardBG.MouseUpEventHandler += (sender, e) => - { - CommonPage.Instance.IsDrawerLockMode = true; - var dimmableLightControl = new Phone.Device.Light.DimmableLightControl(); - UserView.HomePage.Instance.AddChidren(dimmableLightControl); - UserView.HomePage.Instance.PageIndex += 1; - //dimmableLightControl.action = RefreshBodyView; - dimmableLightControl.Show(device, Room.CurrentRoom); - }; - - lightView.CollectButton.MouseUpEventHandler += collectionEvent; - } - else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.DoorLock) - { - //闂ㄩ攣 - var dimmableLight = device.CommonDevice as DoorLock; - //琛ヤ笂闈炶繙绋� - if (dimmableLight.Gateway == null) - { - continue; - } - - 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.IsOnline == 1; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); - lightView.CanControl(false); - var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); - if (dev == null) - { - lightView.CollectButton.IsSelected = false; - } - else - { - lightView.CollectButton.IsSelected = true; - } - - lightView.CardBG.MouseUpEventHandler += (sender, e) => - { - CommonPage.Instance.IsDrawerLockMode = true; - var userDoorLockPage = new UserDoorLockPage(Room.CurrentRoom, device); - HomePage.Instance.AddChidren(userDoorLockPage); - HomePage.Instance.PageIndex += 1; - userDoorLockPage.Show(); - }; - lightView.CollectButton.MouseUpEventHandler += collectionEvent; - } - else - { - 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.CanControl(false); - lightView.IsSelected = device.CommonDevice.IsOnline == 1; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); - - var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); - if (dev == null) - { - lightView.CollectButton.IsSelected = false; - } - else - { - lightView.CollectButton.IsSelected = true; - } - lightView.CollectButton.MouseUpEventHandler += collectionEvent; - } + } + }); + //}) + //{ IsBackground = true }.Start(); } } - } #endregion @@ -1626,6 +1748,7 @@ Height = Application.GetRealHeight(200), Text = Language.StringByID(R.MyInternationalizationString.NoScene_Tip).Replace("{\\r\\n}", "\r\n"), TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, + TextAlignment=TextAlignment.Center, IsMoreLines = true }; functionSceneBodyView.AddChidren(noScenceTip); -- Gitblit v1.8.0