From f71e74b5f0d2716fbf05da016cdaa18d64e09f80 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 31 十二月 2020 17:01:18 +0800
Subject: [PATCH] 又换完成最新门锁。空气质量传感器完成数据和基本配置功能。开发图表和自动化的同事可下载此代码

---
 ZigbeeApp/Shared/Phone/Device/Logic/Method.cs |  152 +++++++++++++++++++++++++++++++++-----------------
 1 files changed, 101 insertions(+), 51 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs
index 7f76b73..0fc25d1 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/Method.cs
@@ -84,15 +84,15 @@
                 {
                     //杩囨护鎺変笉鏀寔鐨勮澶�
                     continue;
-                }
-                if (device.Type == DeviceType.DoorLock)
-                {
-                    var myInfo = LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
-                    if (myInfo.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone)
-                    {
-                        //鏆傛椂涓嶆敮鎸丼-one闂ㄩ攣;
-                        //杩囨护鎺変笉鏀寔S-one闂ㄩ攣璁惧;
-                        continue;
+                }
+                if (device.Type == DeviceType.DoorLock)
+                {
+                    var myInfo = LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
+                    if (myInfo.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone)
+                    {
+                        //鏆傛椂涓嶆敮鎸丼-one闂ㄩ攣;
+                        //杩囨护鎺変笉鏀寔S-one闂ㄩ攣璁惧;
+                        continue;
                     }
                 }
                 if (type == "condition_mould")
@@ -594,7 +594,9 @@
                     }; break;
                 case 5:
                     {
-                        string len = "", text = "";
+                        string len = "";
+                         string   text = "";
+                        string weekStr = Language.StringByID(MyInternationalizationString.week1);
                         List<int> listvalueInt = new List<int>();
                         listvalueInt.Clear();
                         var maxvalue = Convert.ToString(currentLogic.TimeAttribute.WeekDay, 2);
@@ -610,44 +612,36 @@
                             if (strvalue == "1")
                             {
                                 listvalueInt.Add(j + 1);
-
-
-                                if ((j + 1) == 1)
-                                {
-                                    text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.mon1) + ",";
-                                    //text += Language.StringByID(MyInternationalizationString.mon) + ",";
+                                switch ((j + 1)) {
+                                    case 1: {
+                                            text += weekStr + Language.StringByID(MyInternationalizationString.mon1) + ",";
+                                        }
+                                        break;
+                                    case 2: {
+                                            text += weekStr + Language.StringByID(MyInternationalizationString.tue1) + ",";
+                                        }
+                                        break;
+                                    case 3: {
+                                            text += weekStr + Language.StringByID(MyInternationalizationString.wed1) + ",";
+                                        }
+                                        break;
+                                    case 4: {
+                                            text += weekStr + Language.StringByID(MyInternationalizationString.thu1) + ",";
+                                        }
+                                        break;
+                                    case 5: {
+                                            text += weekStr + Language.StringByID(MyInternationalizationString.frl1) + ",";
+                                        }
+                                        break;
+                                    case 6: {
+                                            text += weekStr + Language.StringByID(MyInternationalizationString.sat1) + ",";
+                                        }
+                                        break;
+                                    case 7: {
+                                            text += weekStr + Language.StringByID(MyInternationalizationString.sun1) + ",";
+                                        }
+                                        break;
                                 }
-                                else if ((j + 1) == 2)
-                                {
-                                    text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.tue1) + ",";
-                                    //text += Language.StringByID(MyInternationalizationString.tue) + ",";
-                                }
-                                else if ((j + 1) == 3)
-                                {
-                                    text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.wed1) + ",";
-                                    //text += Language.StringByID(MyInternationalizationString.wed) + ",";
-                                }
-                                else if ((j + 1) == 4)
-                                {
-                                    text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.thu1) + ",";
-                                    //text += Language.StringByID(MyInternationalizationString.thu) + ",";
-                                }
-                                else if ((j + 1) == 5)
-                                {
-                                    text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.frl1) + ",";
-                                    //text += Language.StringByID(MyInternationalizationString.frl) + ",";
-                                }
-                                else if ((j + 1) == 6)
-                                {
-                                    text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.sat1) + ",";
-                                    //text += Language.StringByID(MyInternationalizationString.sat) + ",";
-                                }
-                                else if ((j + 1) == 7)
-                                {
-                                    text += Language.StringByID(MyInternationalizationString.week1) + Language.StringByID(MyInternationalizationString.sun1) + ",";
-                                    //text += Language.StringByID(MyInternationalizationString.sun) + ",";
-                                }
-
 
                             }
                         }
@@ -668,8 +662,7 @@
                         //{
                         //    btndisplaycycle.Text = Language.StringByID(MyInternationalizationString.week1) + text.Replace(Language.StringByID(MyInternationalizationString.week1), "").TrimEnd(',');
                         //}
-                        button.Text = Language.StringByID(MyInternationalizationString.week1) + text.Replace(Language.StringByID(MyInternationalizationString.week1), "").TrimEnd(',');
-                        //btndisplaycycle.Text = text.TrimEnd(',');
+                        button.Text = weekStr + text.Replace(weekStr, "").TrimEnd(',');
                     }; break;
             }
 
@@ -771,7 +764,7 @@
 
             if (CurrentLogic.Conditions.Count == 0 || CurrentLogic.Actions.Count == 0)
             {
-                var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
+                var alert = new UserCenter.ShowMsgControl(ShowMsgType.Normal,
                   Language.StringByID(MyInternationalizationString.addnull),
                   Language.StringByID(MyInternationalizationString.confrim));
                 alert.Show();
@@ -780,7 +773,7 @@
 
             if (string.IsNullOrEmpty(name))
             {
-                var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
+                var alert = new UserCenter.ShowMsgControl(ShowMsgType.Normal,
                   Language.StringByID(MyInternationalizationString.PleaseEnterLogicName),
                   Language.StringByID(MyInternationalizationString.confrim));
                 alert.Show();
@@ -901,6 +894,60 @@
             UserView.HomePage.Instance.RemoveViewByTag("Logic");//绉婚櫎鎵�鏈夋爣璁癓ogic鐣岄潰
             if (LogicView.IfString._Logic == if_logic)
             {
+
+                //鏌ヨ-褰撳墠閫昏緫-鏄惁娣诲姞鍦扮悊浣嶇疆浣滀负鏉′欢
+                var exist = Common.Logic.CurrentLogic.Conditions.Find((obj) => obj["Type"] == "7");
+                if (exist==null)
+                {
+                    bool if_type = false;
+                    //鏌ヨ-閫昏緫鍒楄〃-鏄惁娣诲姞杩囧湴鐞嗕綅缃綔涓烘潯浠�
+                    for (int a = 0; a < Common.Logic.LogicList.Count; a++)
+                    {
+                        var logic = Common.Logic.LogicList[a];
+                        var exist_logic = logic.Conditions.Find((obj) => obj["Type"] == "7");
+                        if (exist_logic != null)
+                        {
+                            //鏄惁瀛樺湪鍦扮悊浣嶇疆鏉′欢
+                            if_type = true;
+                            //閫�鍑篺or寰幆
+                            break;
+                        }
+                    }
+                    if (if_type)
+                    {
+                        //鏌ヨ涔嬪墠鐘舵�佹槸鍚﹀凡缁忓紑鍚疓PS鏈嶅姟(浠ユ湰鍦板瓨鍌ㄧ姸鎬佷负涓� 0:娌″紑鍚�; 1锛氬紑鍚�)
+                        if (Send.If_Exist == "0")
+                        {
+                            //寮�鍚疓PS鏈嶅姟
+                            Application.StartGPSLocationService();
+                            //淇濆瓨GPS鏈嶅姟寮�鍚姸鎬�
+                            Send.SaveLocalFile(Config.Instance.HomeId + "_GPS_File", "1");
+                        }
+
+                    }
+                    else
+                    {
+                        //濡傛灉鎵句笉鍒板湴鐞嗕綅缃綔涓烘潯浠剁殑璇�,鍏抽棴GPS鏈嶅姟(鍑忓皯鑰楃數)
+                        if (Send.If_Exist == "1")
+                        {
+                            //鍏抽棴GPS鏈嶅姟
+                            Application.StopGPSLocationService();
+                            //淇濆瓨GPS鏈嶅姟鍏抽棴鐘舵��
+                            Send.SaveLocalFile(Config.Instance.HomeId + "_GPS_File", "0");
+                        }
+                    }
+                }
+                else
+                {
+                    //鏌ヨ涔嬪墠鐘舵�佹槸鍚﹀凡缁忓紑鍚疓PS鏈嶅姟(浠ユ湰鍦板瓨鍌ㄧ姸鎬佷负涓� 0:娌″紑鍚�; 1锛氬紑鍚�)
+                    if (Send.If_Exist == "0")
+                    {
+                        //寮�鍚疓PS鏈嶅姟
+                        Application.StartGPSLocationService();
+                        //淇濆瓨GPS鏈嶅姟寮�鍚姸鎬�
+                        Send.SaveLocalFile(Config.Instance.HomeId + "_GPS_File", "1");
+                    }
+                }
                 //鍙埛鏂板垎绫�-鑷姩鍖栦笂涓嬫粦鍔╲iew锛�
                 Phone.Category.CategoryMainForm.instance?.RefreshBodyView();
                 // Category.Category.instance?.RefreshBodyView();
@@ -944,5 +991,8 @@
         /// 鐣岄潰楂樺害
         /// </summary>
         public static int H = 1922;
+
+
+
     }
 }

--
Gitblit v1.8.0