From f35f1397c980efdc2542dff7aaa23b1a7dbb65e7 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 16 十二月 2020 10:53:34 +0800
Subject: [PATCH] 2020-12-16-1
---
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs | 171 ++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 115 insertions(+), 56 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
index cb146e7..049a185 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
@@ -374,6 +374,37 @@
bodyView.AddChidren(btnComplete);
LoadEventList();
+
+ var waitPage = new Loading();
+ new Thread(() => {
+ Application.RunOnMainThread(() => {
+ bodyView.AddChidren(waitPage);
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ });
+ var pm = new HttpServerRequest();
+ var pack = pm.GetSceneInfo(scene.userSceneId);
+ if (pack.Code == StateCode.SUCCESS)
+ {
+ var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
+ var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId);
+ if(tempScene!= null)
+ {
+ scene.functions = tempScene.functions;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ });
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+ });
+ }
+ }).Start();
}
/// <summary>
/// 鍔犺浇鍔熻兘鍒楄〃
@@ -513,66 +544,94 @@
if (sfs.value == "off")
return Language.StringByID(StringId.Close);
}
- if (sfs.key == FunctionAttributeKey.Mode)
- {
-
- }
}
- FunctionAttributes perTrait;
- switch (sceneFunction.localFunction.functionType)
+ if (sceneFunction.status.Count == 0)
{
- case FunctionType.AC:
- sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText();
- sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").curValue.ToString() +
- sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").uintString;
- sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "fan").GetCurValueText();
- break;
- case FunctionType.FloorHeating:
- sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText();
- sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").curValue.ToString() +
- sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").uintString;
- break;
- case FunctionType.Dimmer:
- perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness");
- if (perTrait != null)
- {
- sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
- }
- else
- {
- sceneFunctionInfo += Language.StringByID(StringId.Open);
- }
- break;
- case FunctionType.Relay:
- sceneFunctionInfo += Language.StringByID(StringId.Open);
- break;
- case FunctionType.RGB:
- perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent");
- if (perTrait != null)
- {
- sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
- }
- else
- {
- sceneFunctionInfo += Language.StringByID(StringId.Open);
- }
- break;
- case FunctionType.Curtain:
- sceneFunctionInfo += Language.StringByID(StringId.Open);
- break;
- case FunctionType.MotorCurtain:
- perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent");
- if (perTrait != null)
- {
- sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent").curValue.ToString() + "%";
- }
- else
- {
- sceneFunctionInfo += Language.StringByID(StringId.Open);
- }
- break;
+ return sceneFunctionInfo += Language.StringByID(StringId.Open);
}
+
+ var modeState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode);
+ var tempState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp);
+ var fanState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed);
+ if (modeState != null)
+ {
+ sceneFunctionInfo += FunctionList.List.GetValueText(modeState.key, modeState.value);
+ }
+ if (tempState != null)
+ {
+ sceneFunctionInfo += FunctionList.List.GetValueText(tempState.key, tempState.value);
+ sceneFunctionInfo += FunctionList.List.GetUintString(tempState.key);
+ }
+ if (fanState != null)
+ {
+ sceneFunctionInfo += FunctionList.List.GetValueText(fanState.key, fanState.value);
+ }
+ var briState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
+ if (briState != null)
+ {
+ sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + briState.value + "%";
+ }
+ var perState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
+ if (perState != null)
+ {
+ sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + perState.value + "%";
+ }
+ //FunctionAttributes perTrait;
+
+ //switch (sceneFunction.localFunction.functionType)
+ //{
+ // case FunctionType.AC:
+ // sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText();
+ // sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").curValue.ToString() +
+ // sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").uintString;
+ // sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "fan").GetCurValueText();
+ // break;
+ // case FunctionType.FloorHeating:
+ // sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText();
+ // sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").curValue.ToString() +
+ // sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").uintString;
+ // break;
+ // case FunctionType.Dimmer:
+ // perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness");
+ // if (perTrait != null)
+ // {
+ // sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
+ // }
+ // else
+ // {
+ // sceneFunctionInfo += Language.StringByID(StringId.Open);
+ // }
+ // break;
+ // case FunctionType.Relay:
+ // sceneFunctionInfo += Language.StringByID(StringId.Open);
+ // break;
+ // case FunctionType.RGB:
+ // perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent");
+ // if (perTrait != null)
+ // {
+ // sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
+ // }
+ // else
+ // {
+ // sceneFunctionInfo += Language.StringByID(StringId.Open);
+ // }
+ // break;
+ // case FunctionType.Curtain:
+ // sceneFunctionInfo += Language.StringByID(StringId.Open);
+ // break;
+ // case FunctionType.MotorCurtain:
+ // perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent");
+ // if (perTrait != null)
+ // {
+ // sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent").curValue.ToString() + "%";
+ // }
+ // else
+ // {
+ // sceneFunctionInfo += Language.StringByID(StringId.Open);
+ // }
+ // break;
+ //}
return sceneFunctionInfo;
}
--
Gitblit v1.8.0