From 96e8ca6e5c4b9eb179eb21f04f5b696ae94a82c9 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 11 五月 2020 17:00:40 +0800
Subject: [PATCH] 2020-05-11-2
---
ZigbeeApp/Shared/Phone/Device/Logic/Method.cs | 133 +++++++++++++++++++++++++++++++------------
1 files changed, 95 insertions(+), 38 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs
index fc95b32..e4fff88 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs
@@ -702,7 +702,11 @@
Common.Logic.CurrentLogic.LogicIsCustomPushText = 0;
pushview.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor;
}
- Send.Zj(LogicView.IfString.Tag, Common.Logic.CurrentLogic);
+ if (!Config.Instance.Home.IsVirtually)
+ {
+ Send.Zj(LogicView.IfString.Tag, Common.Logic.CurrentLogic);
+
+ }
};
if (Common.Logic.CurrentLogic.LogicIsCustomPushText == 0)
@@ -759,43 +763,94 @@
bool succeed = false;
//鍒ゆ柇鏄柊娣诲姞閫昏緫(榛樿0)杩樻槸淇敼閫昏緫
CommonPage.Loading.Start();
- if (CurrentLogic.LogicId == 0)
- {
- //鍙戦�佹坊鍔犻�昏緫鍛戒护
- var logicifon = await Send.AddModifyLogic(CurrentLogic);
- if (logicifon != null && logicifon.LogicId != 0)
- {
- succeed = true;
- CurrentLogic.LogicId = logicifon.LogicId;
- if (LogicView.IfString._Logic == if_logic || LogicView.IfString._SoneLogic == if_logic)
- {
- //鑷姩鍖栭�昏緫鍒楄〃
- Common.Logic.LogicList.Add(CurrentLogic);
- }
- if (LogicView.IfString._LockLogic == if_logic)
- {
- //闂ㄩ攣鑱斿姩浜嬩欢閫昏緫鍒楄〃
- Common.Logic.LockLogicList.Add(CurrentLogic);
- }
- if (LogicView.IfString._SoneLogic == if_logic)
- {
- //Sone闂ㄩ攣鑱斿姩浜嬩欢閫昏緫鍒楄〃
- Common.Logic.SoneLogicList.Add(CurrentLogic);
- }
- if (tag)
- {
- Send.Zj(tag, CurrentLogic);
- }
+ if (Config.Instance.Home.IsVirtually)
+ {
+ if (Common.Logic.LogicList.Count == 0)
+ {
+ CurrentLogic.LogicId = 1;
+ Common.Logic.LogicList.Add(CurrentLogic);
}
+
+ if (CurrentLogic.LogicId == 0)
+ {
+ bool d = false;
+ for (int i = 1; i < 50; i++)
+ {
+
+ for (int j = 0; j < Common.Logic.LogicList.Count; j++)
+ {
+ if (i != Common.Logic.LogicList[j].LogicId)
+ {
+ CurrentLogic.LogicId = i;
+ Common.Logic.LogicList.Add(CurrentLogic);
+ d = true;
+ break;
+ }
+ }
+ if (d)
+ {
+ break;
+ }
+ }
+
+ }
+ else
+ {
+ for (int j = 0; j < Common.Logic.LogicList.Count; j++)
+ {
+ if (CurrentLogic.LogicId == Common.Logic.LogicList[j].LogicId)
+ {
+ Common.Logic.LogicList.RemoveAt(j);
+ Common.Logic.LogicList.Insert(j,CurrentLogic);
+ break;
+ }
+ }
+
+ }
+
+ //鑷姩鍖栭�昏緫鍒楄〃
}
else
{
- //鍙戦�佷慨鏀归�昏緫鍛戒护锛�
- //淇敼鍛戒护涓嶉渶瑕佺瓑寰呭洖澶嶏紱
- Send.AddModifyLogic(CurrentLogic);
- //缂栬緫榛樿鎴愬姛锛堜笉鑰冭檻缃戠粶鎯呭喌锛夛紱
- succeed = true;
+ if (CurrentLogic.LogicId == 0)
+ {
+ //鍙戦�佹坊鍔犻�昏緫鍛戒护
+ var logicifon = await Send.AddModifyLogic(CurrentLogic);
+ if (logicifon != null && logicifon.LogicId != 0)
+ {
+ succeed = true;
+ CurrentLogic.LogicId = logicifon.LogicId;
+ if (LogicView.IfString._Logic == if_logic || LogicView.IfString._SoneLogic == if_logic)
+ {
+ //鑷姩鍖栭�昏緫鍒楄〃
+ Common.Logic.LogicList.Add(CurrentLogic);
+ }
+ if (LogicView.IfString._LockLogic == if_logic)
+ {
+ //闂ㄩ攣鑱斿姩浜嬩欢閫昏緫鍒楄〃
+ Common.Logic.LockLogicList.Add(CurrentLogic);
+ }
+ if (LogicView.IfString._SoneLogic == if_logic)
+ {
+ //Sone闂ㄩ攣鑱斿姩浜嬩欢閫昏緫鍒楄〃
+ Common.Logic.SoneLogicList.Add(CurrentLogic);
+
+ }
+ if (tag)
+ {
+ Send.Zj(tag, CurrentLogic);
+ }
+ }
+ }
+ else
+ {
+ //鍙戦�佷慨鏀归�昏緫鍛戒护锛�
+ //淇敼鍛戒护涓嶉渶瑕佺瓑寰呭洖澶嶏紱
+ Send.AddModifyLogic(CurrentLogic);
+ //缂栬緫榛樿鎴愬姛锛堜笉鑰冭檻缃戠粶鎯呭喌锛夛紱
+ succeed = true;
+ }
}
CommonPage.Loading.Hide();
@@ -827,11 +882,13 @@
else if (LogicView.IfString._SoneLogic == if_logic)
{
//璺冲埌Sone闂ㄩ攣鑱斿姩浜嬩欢鍒楄〃鐣岄潰
- UserView.HomePage.Instance.RemoveViewByTag("SoneLogic");//绉婚櫎鎵�鏈夋爣璁癓ockListView鐣岄潰
- var soneLogicList = new SoneLogicList();
- UserView.HomePage.Instance.AddChidren(soneLogicList);
- UserView.HomePage.Instance.PageIndex += 1;
- soneLogicList.Show(()=> { },false);
+ //UserView.HomePage.Instance.RemoveViewByTag("SoneLogic");//绉婚櫎鎵�鏈夋爣璁癓ockListView鐣岄潰
+ //var soneLogicList = new SoneLogicList();
+ //UserView.HomePage.Instance.AddChidren(soneLogicList);
+ //UserView.HomePage.Instance.PageIndex += 1;
+ //soneLogicList.Show();
+
+ SoneLogicList.soneLogicList?.RefreshView();
}
}
--
Gitblit v1.8.0