From 9c6bd67d66859e48f0e794cd2746aef9310ce71d Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期五, 13 十二月 2019 18:01:37 +0800
Subject: [PATCH] 2019-12-13-2

---
 ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs |   94 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 75 insertions(+), 19 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs
index 36ea833..e10217c 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs
@@ -40,6 +40,7 @@
                 Height = Application.GetRealHeight(69),
                 Y = Application.GetRealHeight(92),
                 TextID = MyInternationalizationString.selection,
+                IsBold = true,
             };
             topRowLayout.AddChidren(titleName);
             if (Common.Logic.CurrentLogic.LogicId != 0)
@@ -617,14 +618,24 @@
                                                         {
                                                             int minute = int.Parse(conditions["IgnoreTime"]) / 60;
                                                             int second = int.Parse(conditions["IgnoreTime"]) % 60;
-                                                            if (second != 0)
+                                                            if (minute != 0 && second != 0)
                                                             {
-                                                                devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1);
+                                                                devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime);
 
                                                             }
                                                             else
                                                             {
-                                                                devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.unattendedtime1);
+                                                                if (minute == 0 && second != 0)
+                                                                {
+                                                                    devicestatus.Text = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime);
+
+                                                                }
+                                                                if (minute != 0 && second == 0)
+                                                                {
+                                                                    devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.closetime);
+
+                                                                }
+
                                                             }
                                                         }
                                                     }
@@ -632,7 +643,6 @@
                                                 case 21:
                                                 case 22:
                                                     {
-                                                        conditionIcon.UnSelectedImagePath = "ZigeeLogic/doormagnetism.png";
                                                         if (intvalue == "1")
                                                         {
                                                             devicestatus.TextID = MyInternationalizationString.logicopen;
@@ -644,14 +654,24 @@
 
                                                                 int minute = int.Parse(conditions["IgnoreTime"]) / 60;
                                                                 int second = int.Parse(conditions["IgnoreTime"]) % 60;
-                                                                if (second != 0)
+                                                                if (minute != 0 && second != 0)
                                                                 {
                                                                     devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime);
 
                                                                 }
                                                                 else
                                                                 {
-                                                                    devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.closetime);
+                                                                    if (minute == 0 && second != 0)
+                                                                    {
+                                                                        devicestatus.Text = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime);
+
+                                                                    }
+                                                                    if (minute != 0 && second == 0)
+                                                                    {
+                                                                        devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.closetime);
+
+                                                                    }
+
                                                                 }
 
                                                             }
@@ -664,7 +684,6 @@
                                                     break;
                                                 case 40:
                                                     {
-                                                        conditionIcon.UnSelectedImagePath = "ZigeeLogic/smoke.png";
                                                         if (intvalue == "1")
                                                         {
                                                             devicestatus.TextID = MyInternationalizationString.smokescreen;
@@ -674,7 +693,6 @@
                                                     break;
                                                 case 42:
                                                     {
-                                                        conditionIcon.UnSelectedImagePath = "ZigeeLogic/waterleakage.png";
                                                         if (intvalue == "1")
                                                         {
                                                             devicestatus.TextID = MyInternationalizationString.waterleakage;
@@ -687,7 +705,6 @@
                                                     break;
                                                 case 43:
                                                     {
-                                                        conditionIcon.UnSelectedImagePath = "ZigeeLogic/gas.png";
                                                         if (intvalue == "1")
                                                         {
                                                             devicestatus.TextID = MyInternationalizationString.gas;
@@ -697,7 +714,6 @@
                                                     break;
                                                 case 277:
                                                     {
-                                                        conditionIcon.UnSelectedImagePath = "ZigeeLogic/waterleakage.png";
                                                         if (intvalue == "1")
                                                         {
                                                             devicestatus.TextID = MyInternationalizationString.callthepolice;
@@ -707,7 +723,6 @@
                                                     break;
                                                 default:
                                                     {
-                                                        conditionIcon.UnSelectedImagePath = "ZigeeLogic/infraredsensor.png";
                                                         if (intvalue == "1")
                                                         {
                                                             devicestatus.TextID = MyInternationalizationString.callthepolice;
@@ -743,22 +758,54 @@
                                         }
                                         break;
                                     case DeviceType.TemperatureSensor:
-                                       // conditionIcon.UnSelectedImagePath = "ZigeeLogic/temperature.png";
+                                        // conditionIcon.UnSelectedImagePath = "ZigeeLogic/temperature.png";
                                         var dev = deviceinof as TemperatureSensor;
-                                        if (conditions["Cluster_ID"]=="1026") {
+                                        if (conditions["Cluster_ID"] == "1026")
+                                        {
                                             dev.SensorDiv = 1;
-                                        } else {
+                                        }
+                                        else
+                                        {
                                             dev.SensorDiv = 2;
+                                        }
+                                        string s = "";
+                                        switch (conditions["Range"])
+                                        {
+                                            case "0":
+                                                {
+                                                    s = ">";
+                                                }
+                                                break;
+                                            case "1":
+                                                {
+                                                    s = "=";
+                                                }
+                                                break;
+                                            case "2":
+                                                {
+                                                    s = "<";
+                                                }
+                                                break;
+                                            case "6":
+                                                {
+                                                    s = "鈮�";
+                                                }
+                                                break;
+                                            case "7":
+                                                {
+                                                    s = "鈮�";
+                                                }
+                                                break;
                                         }
                                         if (conditions["Cluster_ID"] == "1026")
                                         {
                                             conditionIcon.UnSelectedImagePath = "ZigeeLogic/temperature.png";
-                                            devicestatus.Text = ">" + conditions["AttriButeData1"] + "鈩�";
+                                            devicestatus.Text = s + conditions["AttriButeData1"] + "鈩�";
                                         }
                                         else
                                         {
                                             conditionIcon.UnSelectedImagePath = "ZigeeLogic/humidity.png";
-                                            devicestatus.Text = "<" + conditions["AttriButeData1"] + "%";
+                                            devicestatus.Text = s + conditions["AttriButeData1"] + "%";
                                         }
                                         break;
 
@@ -1945,7 +1992,7 @@
                 }
 
                 Common.Logic.CurrentLogic.LogicName = name;
-
+                bool succeed = false;
                 //鍒ゆ柇鏄柊娣诲姞閫昏緫(榛樿0)杩樻槸淇敼閫昏緫
                 CommonPage.Loading.Start();
                 if (Common.Logic.CurrentLogic.LogicId == 0)
@@ -1954,6 +2001,7 @@
                     var logicifon = await Send.AddModifyLogic(Common.Logic.CurrentLogic);
                     if (logicifon != null && logicifon.LogicId != 0)
                     {
+                        succeed = true;
                         Common.Logic.CurrentLogic.LogicId = logicifon.LogicId;
                         Common.Logic.LogicList.Add(Common.Logic.CurrentLogic);
                     }
@@ -1961,10 +2009,18 @@
                 else
                 {
                     //鍙戦�佷慨鏀归�昏緫鍛戒护
-                    Send.AddModifyLogic(Common.Logic.CurrentLogic);
+                   var modlogic=Send.AddModifyLogic(Common.Logic.CurrentLogic);
+                    //缂栬緫榛樿鎴愬姛锛堜笉鑰冭檻缃戠粶鎯呭喌锛夛紱
+                    succeed = true;
                 }
-
                 CommonPage.Loading.Hide();
+
+                if (!succeed) {
+                    //缃戝叧鍥炲澶辫触锛屼笉鍏抽棴鐣岄潰锛岃瀹冨仠鐣欏綋鍓嶇晫闈紱
+                    //锛堝師鍥狅細鑰冭檻鍒板け璐ラ噸鏂扮紪杈戝師鏉ユ暟鎹粰鐢ㄦ埛甯︽潵浜嗛夯鐑︼級
+                    ///鎻愮ず锛氭坊鍔犺嚜鍔ㄥ寲澶辫触锛�
+                    return;
+                }
                 UserView.HomePage.Instance.RemoveViewByTag("Logic");
                 Category.Category.instance?.RefreshBodyView();
            

--
Gitblit v1.8.0