From 72be4f06a683de33ddd563c8447c39f7f17e5b7d Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 06 一月 2020 13:03:50 +0800
Subject: [PATCH] 合并代码
---
ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs | 194 +++++++++++++++++++++++++++++++++++++-----------
1 files changed, 150 insertions(+), 44 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
index 28e2981..70aa1dd 100755
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
@@ -1,5 +1,9 @@
锘縰sing System;
+using System.Collections.Generic;
using Shared.Common;
+using Shared.Phone.Device.Category;
+using Shared.Phone.UserCenter;
+
namespace Shared.Phone.Device.CommonForm
{
public class SceneCategoryView : FrameLayout
@@ -23,7 +27,7 @@
/// <summary>
/// sceneImg
/// </summary>
- private Button sceneImg;
+ private ImageView sceneImg;
/// <summary>
/// SceneCategoryView
@@ -56,23 +60,27 @@
/// </summary>
private void InitFrame()
{
+ RemoveAll();
var sceneRowLayout = new RowLayout
{
Y = Application.GetRealHeight(46),
Height = Application.GetRealHeight(446 - 46),
- LineColor = ZigbeeColor.Current.GXCGrayBackgroundColor
+ LineColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
+ Tag= scene
};
AddChidren(sceneRowLayout);
+ sceneRowLayout.SubViewWidth = Application.GetRealWidth(199);
- sceneImg = new Button()
+ sceneImg = new ImageView()
{
X = Application.GetRealWidth(179),
Width = Application.GetRealWidth(844),
Height = Application.GetRealHeight(400),
- UnSelectedImagePath = scene.IconPath,
+ ImagePath = scene.IconPathType == 0 ? scene.IconPath : System.IO.Path.Combine(Config.Instance.FullPath, scene.IconPath),
Radius = (uint)Application.GetRealHeight(17)
};
sceneRowLayout.AddChidren(sceneImg);
+ //sceneImg.SetViewShadow(true);
var leftFL = new FrameLayout
{
@@ -162,8 +170,10 @@
var delayBtn = new RowLayoutDeleteButton
{
TextID = R.MyInternationalizationString.Delay,
- Tag = scene.SceneDelayTime
+ Tag = scene.SceneDelayTime,
+ BackgroundColor=ZigbeeColor.Current.GXCTextSelectedColor,
};
+ delayBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight);
sceneRowLayout.AddLeftView(delayBtn);
//缂栬緫
var settingBtn = new Device.CommonForm.RowLayoutEditButton()
@@ -171,12 +181,13 @@
TextID = R.MyInternationalizationString.Editor,
Tag = scene.SceneDelayTime
};
+ settingBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerTopLeft);
//鍒犻櫎
var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton
{
Tag = scene
};
-
+ deleteBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight);
if (room.IsSharedRoom)
{
@@ -191,6 +202,7 @@
{
sceneRowLayout.AddRightView(settingBtn);
sceneRowLayout.AddRightView(deleteBtn);
+
}
}
@@ -200,56 +212,150 @@
if (room.IsLove)
{
Shared.Common.Room.CurrentRoom.GetLoveRoom().DeleteScene(scene);
- RemoveViewByTag((sender as Button).Tag);
+ RemoveFromParent();
}
else
{
- var tip = new CustomAlert { };
- AddChidren(tip);
- tip.Show(Language.StringByID(R.MyInternationalizationString.ConfirmDelete));
-
- tip.ResultEventHandler += async (e1) =>
+ var alert = new UserCenter.ShowMsgControl(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.ConfirmDelete));
+ alert.Show();
+ alert.ConfirmClickEvent += async () =>
{
- if (e1)
+ //0 绉婚櫎澶辫触 1 绉婚櫎鎴愬姛 2 娌℃湁璇ュ満鏅�
+ var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(scene.Id);
+ if (removeSceneAllData == null || removeSceneAllData.removeSceneData == null)
{
- //0 绉婚櫎澶辫触 1 绉婚櫎鎴愬姛 2 娌℃湁璇ュ満鏅�
- var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(scene.Id);
- if (removeSceneAllData == null || removeSceneAllData.removeSceneData == null)
- {
- CommonPage.Instance.FailureToServer();
- return;
- }
- //1鎴愬姛
- if (removeSceneAllData.removeSceneData.Result == 1)
- {
- room.RemoveScene(scene);
- //RefreshBodyView();
- RemoveViewByTag((sender as Button).Tag);
- }
- //0 绉婚櫎澶辫触
- else if (removeSceneAllData.removeSceneData.Result == 0)
- {
- CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.FailedPleaseTryAgain);
- return;
- }
- //2 娌℃湁璇ュ満鏅�
- else if (removeSceneAllData.removeSceneData.Result == 2)
- {
- room.RemoveScene(scene);
- //RefreshBodyView();
- RemoveViewByTag((sender as Button).Tag);
- CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneIsNull);
- return;
- }
+ CommonPage.Instance.FailureToServer();
+ return;
+ }
+ //1鎴愬姛
+ if (removeSceneAllData.removeSceneData.Result == 1)
+ {
+ room.RemoveScene(scene);
+ //RefreshBodyView();
+ RemoveFromParent();
+ }
+ //0 绉婚櫎澶辫触
+ else if (removeSceneAllData.removeSceneData.Result == 0)
+ {
+ CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.FailedPleaseTryAgain);
+ return;
+ }
+ //2 娌℃湁璇ュ満鏅�
+ else if (removeSceneAllData.removeSceneData.Result == 2)
+ {
+ room.RemoveScene(scene);
+ //RefreshBodyView();
+ RemoveFromParent();
+ CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneIsNull);
+ return;
}
};
}
};
deleteBtn.MouseUpEventHandler += delEvent;
//缂栬緫鍦烘櫙
- settingBtn.MouseUpEventHandler += (sender, e) =>
+ settingBtn.MouseUpEventHandler += async (sender, e) =>
{
- SceneUI.EditScene(scene, room);
+ try
+ {
+ var targetList = new List<SceneTargetDeviceUI> { };
+ CommonPage.Loading.Start();
+ //浠庣綉鍏充腑鍙嶅簭鍒楀寲鍑哄搴旂殑鎴块棿璁惧
+ var sceneDeviceList = await ZigBee.Device.Scene.GetSceneDeviceListAsync(scene.Id);
+ if (sceneDeviceList == null)
+ {
+ CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheMainGatewayIsNotOnLine));
+ return;
+ }
+
+ if (sceneDeviceList.getSceneDeviceListInfo != null)
+ {
+ var deviceList = sceneDeviceList.getSceneDeviceListInfo.DeviceList;
+ var allDevice = Common.Room.AllRoomDeviceUIList;
+ var allScene = Common.Room.AllRoomSceneUIList;
+
+ 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);
+ }
+ }
+ }
+ }
+ else
+ {
+ CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.FailedPleaseTryAgain));
+ }
+
+ 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
+ {
+ Init(s, r);
+ }
+ };
+ }
+ catch (Exception ex)
+ {
+ System.Console.WriteLine($"缂栬緫鍦烘櫙鍑洪敊---{ex.Message}");
+ }
+ finally
+ {
+ CommonPage.Loading.Hide();
+ }
};
//缂栬緫寤舵椂
delayBtn.MouseUpEventHandler += (sender, e) =>
--
Gitblit v1.8.0