| | |
| | | if (removeSceneAllData.removeSceneData.Result == 1)
|
| | | {
|
| | | HdlSceneLogic.Current.RemoveScene(scene);
|
| | | //RefreshBodyView();
|
| | | RemoveFromParent();
|
| | | }
|
| | | //0 移除失败
|
| | |
| | | else if (removeSceneAllData.removeSceneData.Result == 2)
|
| | | {
|
| | | HdlSceneLogic.Current.RemoveScene(scene);
|
| | | //RefreshBodyView();
|
| | | RemoveFromParent();
|
| | | CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneIsNull));
|
| | | return;
|
| | | }
|
| | | };
|
| | | }; |
| | | |
| | | //编辑场景 |
| | | btnEditor.ButtonClickEvent += async (sender, e) => |
| | | btnEditor.ButtonClickEvent += (sender, e) => |
| | | { |
| | | try |
| | | //关闭左滑菜单 |
| | | this.HideMenu(); |
| | | //编辑场景 |
| | | var form = new Phone.Category.AddOrEditorSceneForm(); |
| | | form.AddForm(i_scene); |
| | | form.SceneChangedEvent = (myScene, roomId) => |
| | | { |
| | | //关闭左滑菜单 |
| | | this.HideMenu(); |
| | | var targetList = new List<SceneTargetDeviceUI> { }; |
| | | CommonPage.Loading.Start(); |
| | | //从网关中反序列化出对应的房间设备 |
| | | var sceneDeviceList = await ZigBee.Device.Scene.GetSceneDeviceListAsync(scene.Id); |
| | | if (sceneDeviceList == null) |
| | | if (roomId != room.Id) |
| | | { |
| | | CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheMainGatewayIsNotOnLine)); |
| | | return; |
| | | }
|
| | |
|
| | | if (sceneDeviceList.getSceneDeviceListInfo != null) |
| | | { |
| | | var deviceList = sceneDeviceList.getSceneDeviceListInfo.DeviceList; |
| | | var allDevice = HdlRoomLogic.Current.GetAllRoomListDevice(); |
| | | var allScene = HdlSceneLogic.Current.GetAllRoomSceneList(); |
| | | |
| | | if (deviceList != null && allDevice.Count != 0) |
| | | { |
| | | foreach (var sceneDev in deviceList) |
| | | { |
| | | if (sceneDev.Type == 0) |
| | | { |
| | | var dev = allDevice.Find((obj) => obj.DeviceEpoint == sceneDev.Epoint && obj.DeviceAddr == sceneDev.DeviceAddr); |
| | | if (dev != null) |
| | | { |
| | | var sceneTargetDevice = new SceneTargetDeviceUI |
| | | { |
| | | Type = 0, |
| | | DeviceUI = dev, |
| | | TaskList = sceneDev.TaskList, |
| | | DelayTimeSerialNumber = deviceList.IndexOf(sceneDev) + 1 |
| | | }; |
| | | |
| | | targetList.Add(sceneTargetDevice); |
| | | } |
| | | } |
| | | else if (sceneDev.Type == 1) |
| | | { |
| | | var localScene = allScene.Find((obj) => obj.Id == sceneDev.ElseScenesId); |
| | | if (localScene != null) |
| | | { |
| | | var sceneTargetDeviceScene = new SceneTargetDeviceUI |
| | | { |
| | | Type = 1, |
| | | ElseScenesId = sceneDev.ElseScenesId, |
| | | SceneName = localScene.Name, |
| | | SceneUI = localScene, |
| | | DelayTimeSerialNumber = deviceList.IndexOf(sceneDev) + 1 |
| | | }; |
| | | targetList.Add(sceneTargetDeviceScene); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | var sceneTargetDeviceScene = new SceneTargetDeviceUI |
| | | { |
| | | Type = 2, |
| | | DelayTime = sceneDev.DelayTime, |
| | | DelayTimeSerialNumber = deviceList.IndexOf(sceneDev) + 1 |
| | | }; |
| | | targetList.Add(sceneTargetDeviceScene); |
| | | } |
| | | } |
| | | } |
| | | //它变更了房间 |
| | | this.RemoveFromParent(); |
| | | } |
| | | else |
| | | { |
| | | CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.FailedPleaseTryAgain)); |
| | | this.InitControl(myScene, room); |
| | | } |
| | | |
| | | var sceneView = new CategoryAddScene(); |
| | | Phone.UserView.HomePage.Instance.AddChidren(sceneView); |
| | | Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | sceneView.isModify = true; |
| | | sceneView.modifyRoom = room; |
| | | sceneView.modifySceneUI = scene; |
| | | sceneView.modifySceneTargetDevicesList = targetList; |
| | | sceneView.Show(); |
| | | sceneView.EditorAction = (s, r) => |
| | | { |
| | | if (r.Id != room.Id) |
| | | { |
| | | RemoveFromParent(); |
| | | } |
| | | else |
| | | { |
| | | this.InitControl(s, r); |
| | | } |
| | | }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | System.Console.WriteLine($"编辑场景出错---{ex.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | CommonPage.Loading.Hide(); |
| | | } |
| | | }; |
| | | }; |
| | | //编辑延时 |
| | | btnDelay.ButtonClickEvent += (sender, e) => |