From f759dc1e6f49c53733eafda82207c85af18f9931 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 28 五月 2020 15:46:54 +0800
Subject: [PATCH] 2020-05-28-1

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs   |    8 +-
 ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs                    |   41 ++++++-------
 ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml                             |   17 +++--
 ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs |   26 --------
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs     |    8 +-
 ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide                       |    0 
 ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs               |   57 ++++++++----------
 7 files changed, 64 insertions(+), 93 deletions(-)

diff --git a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
index 13291ed..2c72c00 100644
--- a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
+++ b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
@@ -1,13 +1,13 @@
 锘�<Properties StartupConfiguration="{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}|Default">
   <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.5c86e4357d63" />
   <MonoDevelop.Ide.ItemProperties.ShardLib PreferredExecutionTarget="Android.M7BBB18B19152766" />
-  <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Logic/OneLogic.cs">
+  <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Logic/SkipView.cs">
     <Files>
-      <File FileName="Shared/Phone/Device/Logic/SoneLogicList.cs" Line="190" Column="41" />
-      <File FileName="Shared/Phone/Device/Logic/SkipView.cs" Line="323" Column="92" />
-      <File FileName="Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs" Line="1066" Column="38" />
-      <File FileName="Shared/Phone/Device/Logic/AddLogicPage.cs" Line="77" Column="60" />
-      <File FileName="Shared/Phone/Device/Logic/OneLogic.cs" Line="16" Column="16" />
+      <File FileName="Shared/Phone/Device/Logic/SkipView.cs" Line="23" Column="38" />
+      <File FileName="Shared/Phone/Device/Logic/SoneLogicList.cs" Line="427" Column="59" />
+      <File FileName="Shared/Phone/Device/Logic/Send.cs" Line="12" Column="2" />
+      <File FileName="Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs" Line="1086" Column="47" />
+      <File FileName="Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs" Line="1" Column="1" />
     </Files>
     <Pads>
       <Pad Id="ProjectPad">
@@ -18,10 +18,13 @@
               <Node name="Phone" expanded="True">
                 <Node name="Device" expanded="True">
                   <Node name="Logic" expanded="True">
-                    <Node name="OneLogic.cs" selected="True" />
+                    <Node name="SkipView.cs" selected="True" />
                   </Node>
                 </Node>
                 <Node name="UserCenter" expanded="True">
+                  <Node name="CommonBase" expanded="True">
+                    <Node name="Logic" expanded="True" />
+                  </Node>
                   <Node name="DoorLock" expanded="True" />
                 </Node>
               </Node>
diff --git a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
index b85a228..e4389b1 100644
--- a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
+++ b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
Binary files differ
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs
old mode 100755
new mode 100644
index 6e7edf2..55df661
--- a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs
@@ -99,31 +99,7 @@
                             continue;
                         }
                         Common.Logic.LockLogicList.Add(logic);
-                        //bool yes = false;
-                        //for (int a = 0; a < logic.Accounts.Count; a++)
-                        //{
-                        //    //Option4鏄澶噈ac锛汷ption2鏄澶囩鍙o紱
-                        //    if (logic.Accounts[a]["Option4"].ToString() != Send.CurrentDoorLock.DeviceAddr)
-                        //    {
-                        //        //鏌ユ壘鏄惁鏄偅涓棬閿侊紱
-                        //        //濡傛灉涓嶆槸璇ラ棬閿佽仈鍔ㄤ簨浠朵笉鏄剧ず鍑烘潵;
-                        //        yes = false;
-                        //    }
-                        //    else
-                        //    {
-                        //        yes = true;
-                        //    }
-                        //    //if (logic.Accounts[a]["Account"].ToString() == Config.Instance.Guid)
-                        //    //{
-                        //    //    //鏌ユ壘鑷繁璐﹀彿涓嬬殑鍒涘缓鑱斿姩浜嬩欢锛�
-                        //    //    yes = true;
-                        //    //    break;
-                        //    //}
-                        //}
-                        //if (yes)
-                        //{
-                        //    Common.Logic.LockLogicList.Add(listlogic[j]);
-                        //}
+                      
                     }
                 }
             }
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
index 4e0ee88..fc1aed0 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs
@@ -20,7 +20,6 @@
             {
                 case 0:
                     {
-
                         //new涓�涓柊閫昏緫瀵硅薄锛�
                         //鏂板姝e父鑷姩鍖栧叆鍙�
                         Common.Logic.CurrentLogic = new Common.Logic();
@@ -31,7 +30,6 @@
                         UserView.HomePage.Instance.AddChidren(addLogicPage);
                         UserView.HomePage.Instance.PageIndex += 1;
                         addLogicPage.Show();
-
                     }
                     break;
                 case 1:
@@ -765,36 +763,30 @@
         public static async System.Threading.Tasks.Task<int> Exist(int valueInt, ZigBee.Device.DoorLock doorLock)
         {
             int exist = 0;
-            var Idlist = await Send.GetLogicId(valueInt);
-            if (Idlist.Count != 0)
+            var IdList = await Send.GetLogicId(valueInt);
+            if (IdList.Count != 0)
             {
-                //榛樿鍙栫涓�涓�昏緫ID
-                var id = Idlist[0];
-                if (valueInt != 3)
+                for (int i = 0; i < IdList.Count; i++)
                 {
-                    exist = id;
-                }
-                else
-                {
-                    var logic = await Send.GetLogic(id, 3);
+                    var id = IdList[i];
+                    var logic = await Send.GetLogic(id, valueInt);
                     if (logic != null)
                     {
                         if (ExistLogic(logic, doorLock))
                         {
                             exist = id;
-                        }
-                        else
-                        {
-                            exist = 0;
+                            ///鎵惧埌閫�鍑�
+                            break;
                         }
                     }
+
                 }
             }
             return exist;
         }
 
         ///<summary>
-        ///鑾峰彇闂ㄩ攣閫昏緫淇℃伅
+        ///鑾峰彇闂ㄩ攣鏃舵晥鎬ч�昏緫淇℃伅
         /// 杩斿洖鍊硷細null涓嶅瓨鍦�;鍏跺畠鍊奸兘瀛樺湪;
         /// </summary>
         public static async System.Threading.Tasks.Task<Common.Logic> GetLogicIfon(ZigBee.Device.DoorLock doorLock)
@@ -818,14 +810,12 @@
         ///鍒犻櫎璇ラ棬閿佹墍鏈夋椂鏁堟�ц嚜鍔ㄥ寲
         /// 杩斿洖鍊硷細true鎴愬姛;false澶辫触;
         /// </summary>
-        public static async System.Threading.Tasks.Task<bool> GetLogicAll(ZigBee.Device.DoorLock doorLock)
+        public static async System.Threading.Tasks.Task<bool> DelAllLogic(ZigBee.Device.DoorLock doorLock)
         {
             bool _if = false;
             var Idlist = await Send.GetLogicId(3);
             if (Idlist.Count != 0)
             {
-                _if = true;
-
                 for (int i = 0; i < Idlist.Count; i++)
                 {
                     int id = Idlist[i];
@@ -836,7 +826,16 @@
                         {
                             //鏈潵鍙湁涓�鏉℃椂鏁堟�ц嚜鍔ㄥ寲锛�
                             //闃叉鐗规畩鎯呭喌,鎵惧埌灏卞垹闄ゆ帀;
+                            //var valueInt = await Send.DelLogic(id);
+                            //if (valueInt == 0)
+                            //{
+                            //    _if = true;
+                            //}
+                            //(鑰冭檻鎬ц兘榛樿鍒犻櫎鎴愬姛锛岀洿鎺ヨ繑鍥炴垚鍔熺粨鏋渢rue)
+                            _if = true;
                             Send.DelLogic(id);
+                           
+
                         }
                     }
                 }
@@ -852,7 +851,7 @@
         {
             for (int j = 0; j < logic.Accounts.Count; j++)
             {
-                //Option4鏄澶噈ac锛汷ption2鏄澶囩鍙o紱
+                //Option4鏄澶噈ac锛�
                 if (logic.Accounts[j]["Option4"].ToString() == doorLock.DeviceAddr)
                 {
                     //鏌ユ壘鏄惁鏄偅涓棬閿侊紱
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
index 44cfcd6..1d0328b 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
@@ -32,13 +32,9 @@
         /// </summary>
         public int timeValue = 0;
         /// <summary>
-        /// 鏍囪鏄剧ず鎵ц鏃ユ湡(鐢ㄧ綉鍏崇殑锛岃繕鏄敤绯荤粺鐨勬椂闂�)
+        /// 璁板綍鏃堕棿鎴�
         /// </summary>
-        public bool _if = false;
-        /// <summary>
-        /// 鏃堕棿鎴�
-        /// </summary>
-        public long timeLong = 0;
+        public int timeLong = 0;
         public async void Show()
         {
 
@@ -58,7 +54,7 @@
                     action(Send.CurrentDoorLock.IsDoorLockNormallyMode);
                 }
             };
-
+            
             var middle = new FrameLayout
             {
                 Y = view.topRowLayout.Bottom,
@@ -68,7 +64,7 @@
             this.AddChidren(middle);
             #endregion
             //鏄父寮�妯″紡鍐嶅幓璇诲彇
-
+            Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
             if (Send.CurrentDoorLock.IsDoorLockNormallyMode)
             {
                 //杩涙潵鏇存柊涓�娆�
@@ -81,8 +77,7 @@
                         //杩涙潵鏇存柊涓�娆″��
                         logicId = logic.LogicId;
                         timeValue = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]) / 3600;
-                        timeLong = long.Parse(logic.Conditions[0]["TriggerTime"]);
-
+                        timeLong = int.Parse(logic.Conditions[0]["TriggerTime"]);
                     }
                     catch { }
                 }
@@ -226,7 +221,8 @@
                 }
                 catch { }
             };
-
+            
+            //UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction += (DoorlockKey, _bool) =>
            //{
            //    var key = Send.CurrentDoorLock.DeviceAddr + Send.CurrentDoorLock.DeviceEpoint;
            //    if (DoorlockKey == key)
            //    {
            //        try
            //        {
            //            Application.RunOnMainThread(() =>
            //            {
            //                Send.CurrentDoorLock.IsDoorLockNormallyMode = _bool;
            //                ModeView();
            //            });
            //        }
            //        catch { }
            //    }
            //};
         }
         /// <summary>
         /// 甯稿紑妯″紡寮�鍏冲垏鎹㈠浘鏍囩晫闈�
@@ -285,7 +281,6 @@
                                 Send.DelLogic(logicId);
                             }
                             Send.CurrentDoorLock.IsDoorLockNormallyMode = false;
-                            _if = false;
                             ModeView();
                         }
                         else
@@ -304,7 +299,7 @@
                     }
                 };
 
-               
+
                 if (logicId != 0)
                 {
                     ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢
@@ -312,7 +307,7 @@
                     {
                         Y = Application.GetRealHeight(127 + 69),
                         X = Application.GetRealWidth(80),//125
-                        Width = Application.GetRealWidth(907+12),//634 + 200
+                        Width = Application.GetRealWidth(907 + 12),//634 + 200
                         Height = Application.GetRealHeight(60),
                         TextSize = 15,
                         TextColor = ZigbeeColor.Current.LogicTextBlackColor,
@@ -331,22 +326,23 @@
                     int hour = 0;
                     int minute = 0;
 
-                    if (_if)
+                    if (timeLong != 0)
                     {
-                        ///绗竴娆¤繘鏉ヨ鍙栫綉鍏虫椂闂达紱
+                        ///璇诲彇缃戝叧鏃堕棿锛�
                         var datetime = GetLocalTime(timeLong);
                         ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈�
                         year = datetime.Year.ToString();//閭d竴骞�
                         month = datetime.Month.ToString();//閭d竴鏈�
-                        days = int.Parse(datetime.ToString("dd"));//閭d竴澶�
-                        hour = int.Parse(datetime.ToString("HH"));//灏忔椂                   
+                        var d = int.Parse(datetime.ToString("dd"));//閭d竴澶�
+                        var h = int.Parse(datetime.ToString("HH"));//灏忔椂
+                        int dayInt = (h + timeValue) / 24;//璁剧疆鏃堕棿+褰撳墠绯荤粺鏃堕棿鏄惁瓒呭嚭24灏忔椂
+                        hour = (h + timeValue) % 24;//璁剧疆鏃堕棿+褰撳墠绯荤粺鏃堕棿鏄惁瓒呭嚭24灏忔椂鍓╀笅澶氬皯灏忔椂
+                        days = d + dayInt;//褰撳墠绯荤粺澶╂暟+鎵ц鍚庡ぉ鏁�
                         minute = datetime.Minute;//鍒嗛挓
                     }
                     else
                     {
-
-
-                        ///鍦ㄥ綋鍓嶇晫闈㈢紪杈戞樉绀虹郴缁熸椂闂�(涓嶈兘姣忎竴娆$紪杈戦兘鍘荤綉鍏虫嬁鏁版嵁)
                        year = DateTime.Now.Year.ToString();//閭d竴骞�
+                        ///璇诲彇绯荤粺鏃堕棿
                        year = DateTime.Now.Year.ToString();//閭d竴骞�
                         month = DateTime.Now.Month.ToString();//閭d竴鏈�
                         var d = DateTime.Now.ToString("dd");//閭d竴澶�
                         var h = int.Parse(DateTime.Now.ToString("HH"));//灏忔椂
@@ -416,6 +412,7 @@
                     {///鍐嶆纭
                         LogicView.TipView.ShowInputTip(true, async (str) =>
                         {///纭鍙戦�佸懡浠�
+
                             CommonPage.Loading.Start();
                             try
                             {
@@ -429,7 +426,7 @@
                                 else
                                 {
                                     ///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛�
-                                    SkipView.GetLogicAll(Send.CurrentDoorLock);//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫
+                                    SkipView.DelAllLogic(Send.CurrentDoorLock);//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫
                                     var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫
                                     if (addResult == 0)
                                     {
@@ -444,7 +441,6 @@
                                         logicId = addResult;
                                         timeValue = int.Parse(str);
                                         Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
-                                        _if = false;
                                         ModeView();
                                         ///娣诲姞APP寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
                                         UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(Send.CurrentDoorLock, 9001, string.Empty);
@@ -714,16 +710,13 @@
         /// </summary>
         /// <param name="unixTimeStamp">鏃堕棿鎴�</param>
         /// <returns></returns>
-        public DateTime GetLocalTime(long unixTimeStamp)
+        public DateTime GetLocalTime(int unixTimeStamp)
         {
-            //DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
-            //long lTime = long.Parse(unixTimeStamp + "0000000");
-            //TimeSpan toNow = new TimeSpan(lTime);
-            //DateTime dtResult = dtStart.Add(toNow);
-            //return dtResult;
-
-            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯
-            return startTime.AddMilliseconds(unixTimeStamp);
+            DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
+            long lTime = long.Parse(unixTimeStamp + "0000000");
+            TimeSpan toNow = new TimeSpan(lTime);
+            DateTime dtResult = dtStart.Add(toNow);
+            return dtResult;
 
         }
     }
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
old mode 100755
new mode 100644
index 9989e00..5dcfd81
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
@@ -198,7 +198,7 @@
                     if (haveLogic)
                     {
                         //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
-                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
+                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock);
                     }
                 }
                 else
@@ -220,7 +220,7 @@
                     if (haveLogic)
                     {
                         //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
-                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
+                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock);
                     }
 
                     //app閲嶆柊寮�鍚�滃父寮�妯″紡鈥�
@@ -298,7 +298,7 @@
                     if (haveLogic)
                     {
                         //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
-                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
+                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock);
                     }
                 }
                 else
@@ -347,7 +347,7 @@
                         if (haveLogic)
                         {
                             //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
-                            var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
+                            var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock);
                         }
                         Application.RunOnMainThread(() =>
                         {
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
old mode 100755
new mode 100644
index 7de8403..09fe2ae
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -1131,7 +1131,7 @@
                     if (haveLogicNormallyOpenMode)
                     {
                         //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
-                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
+                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock);
                     }
                 }
                 else
@@ -1155,7 +1155,7 @@
                     if (haveLogicNormallyOpenMode)
                     {
                         //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
-                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
+                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock);
                     }
                     //app閲嶆柊寮�鍚�滃父寮�妯″紡鈥�
                     var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
@@ -1226,7 +1226,7 @@
                     if (haveLogicNormallyOpenMode)
                     {
                         //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
-                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
+                        var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock);
                     }
                 }
                 else
@@ -1261,7 +1261,7 @@
                         if (haveLogicNormallyOpenMode)
                         {
                             //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
-                            var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
+                            var resTemp1 = await Shared.Phone.Device.Logic.SkipView.DelAllLogic(doorLock);
                         }
                         string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess);
                         this.ShowTipMsg(msg2);

--
Gitblit v1.8.0