From f11472b25796a83f70d526b13f2b0cba24c665f2 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 06 五月 2020 18:00:09 +0800
Subject: [PATCH] 2020-05-06-3

---
 ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs |  179 +++++++++++++++++++++++------------------------------------
 1 files changed, 69 insertions(+), 110 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
index ae7f8e6..d6bcbf8 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
@@ -21,18 +21,10 @@
         /// </summary>
         /// <param name="action">缁欏緪姊呭埛鏂扮晫闈㈢敤鐨�</param>
         /// <param name="bool_If"></param>
-        public async void Show(Action action, bool bool_If = false)
+        public Action<bool> action;
+        public async void Show()
         {
-            #region  寰愭鍙繖鏍峰仛鐨�
-            string key = Send.CurrentDoorLock.DeviceAddr + "_" + Send.CurrentDoorLock.DeviceEpoint;
-            if (Send.CurrentDoorLock.IsDoorLockNormallyMode.ContainsKey(key))
-            {
-                if (Send.CurrentDoorLock.IsDoorLockNormallyMode[key] == true)
-                {
-                    bool_If = true;
-                }
-            }
-            #endregion
+         
             #region  鐣岄潰鐨勫竷灞�浠g爜
             UserView.HomePage.Instance.ScrollEnabled = false;//閿佷綇宸︽粦
             TopView view = new TopView();
@@ -43,7 +35,7 @@
                 UserView.HomePage.Instance.ScrollEnabled = true;
                 if (action != null)
                 {
-                    action();
+                    action(Send.CurrentDoorLock.IsDoorLockNormallyMode);
                 }
 
                 RemoveFromParent();
@@ -80,7 +72,7 @@
             };
             fLayout.AddChidren(modeIconBtn);
 
-            if (bool_If)
+            if (Send.CurrentDoorLock.IsDoorLockNormallyMode)
             {
                 /// 鏌ユ壘鏄惁瀛樺湪鏃舵晥鎬ц嚜鍔ㄥ寲锛涙湁鐨勮瘽灏辫繑鍥炶嚜鍔ㄥ寲瀵硅薄;
                 var logic = await SkipView.GetLogicIfon();
@@ -108,48 +100,29 @@
                     TextSize = 16,
                 };
                 openModeFl.AddChidren(closeBtn);
-                closeBtn.MouseUpEventHandler += (sender, e) =>
+                closeBtn.MouseUpEventHandler += async (sender, e) =>
                 {
-
-                    var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Confirm,
-                   Language.StringByID(MyInternationalizationString.doyouwanttodelete),
-                   Language.StringByID(MyInternationalizationString.confrim));
-                    alert.Show();
-                    alert.ConfirmClickEvent += async () =>
+                    var result = await UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
+                    if (result)
                     {
+                        if (logic != null)
+                        {
+                            ///鏈夊彲鑳藉彧鏈夊父寮�妯″紡锛屾病鏈夋椂鏁堟�ц嚜鍔ㄥ寲
+                            ///娌℃湁鍒ゆ柇鐨勮瘽锛岄�昏緫浼氫负绌猴紝鎶涘嚭寮傚父;
+                            Send.DelLogic(logic.LogicId);
+                        }
+                        Send.CurrentDoorLock.IsDoorLockNormallyMode = false;
+                        this.RemoveFromParent();
+                        var soneLogicList = new SoneLogicList();
+                        UserView.HomePage.Instance.AddChidren(soneLogicList);
+                        UserView.HomePage.Instance.PageIndex += 1;
+                        soneLogicList.Show();
+                    }
+                    else
+                    {
+                        LogicView.TipView.ShowFlashTip("鍏抽棴澶辫触");
+                    }
 
-                     Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock, action);
-
-                     Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.LogicAction += (d) => {
-                            this.RemoveFromParent();
-                            var soneLogicList = new SoneLogicList();
-                            UserView.HomePage.Instance.AddChidren(soneLogicList);
-                            UserView.HomePage.Instance.PageIndex += 1;
-                            soneLogicList.Show(() => { }, false);
-
-                        };
-
-                        /////xm
-                        //var result = await SkipView.OpenMode(false, Send.CurrentDoorLock);
-                        //if (result)
-                        //{
-                        //    if (logic != null)
-                        //    {
-                        //        ///鏈夊彲鑳藉彧鏈夊父寮�妯″紡锛屾病鏈夋椂鏁堟�ц嚜鍔ㄥ寲
-                        //        ///娌℃湁鍒ゆ柇鐨勮瘽锛岄�昏緫浼氫负绌猴紝鎶涘嚭寮傚父;
-                        //        Send.DelLogic(logic.LogicId);
-                        //    }
-                        //    this.RemoveFromParent();
-                        //    var soneLogicList = new SoneLogicList();
-                        //    UserView.HomePage.Instance.AddChidren(soneLogicList);
-                        //    UserView.HomePage.Instance.PageIndex += 1;
-                        //    soneLogicList.Show(()=>{ },false);
-                        //}
-                        //else {
-                        //    ///鎻愮ず澶辫触
-                        //}
-
-                    };
                 };
 
                 ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢
@@ -222,71 +195,58 @@
                     Height = Application.GetMinRealAverage(104),
                     X = Application.GetRealWidth(861),
                     Y = Application.GetRealHeight(17),
-                    UnSelectedImagePath = "ZigeeLogic/next.png",
+                    UnSelectedImagePath = "ZigeeLogic/nextIconSone.png",
                 };
                 modeFl.AddChidren(nextIconBtn);
 
-               
 
-              nextIconBtn.MouseUpEventHandler += (sender, e) =>
-               {
 
-                   Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.NomallyOpenModeInvalidTimeDialog(Send.CurrentDoorLock, action);
-                   Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.LogicAction += (d) => {
-                       this.RemoveFromParent();
-                       var soneLogicList = new SoneLogicList();
-                       UserView.HomePage.Instance.AddChidren(soneLogicList);
-                       UserView.HomePage.Instance.PageIndex += 1;
-                       soneLogicList.Show(() => { }, true);
+                nextIconBtn.MouseUpEventHandler += (sender, e) =>
+                 {
 
-                   };
-                   #region 
-                   /*
-                   LogicView.TipView.ShowConfrimTip(() =>
-                   {///鍐嶆纭
+                     LogicView.TipView.ShowConfrimTip(() =>
+
+                     {///鍐嶆纭
                        LogicView.TipView.ShowInputTip(true, async (str) =>
-                       {///纭鍙戦�佸懡浠�
+                         {///纭鍙戦�佸懡浠�
                            try
-                           {
+                             {
                                ///xm
-                               var result = await SkipView.OpenMode(true,Send.CurrentDoorLock);
-                               if (!result)
-                               {
-                                   Application.RunOnMainThread(() =>
-                                   {
-                                     ///鎻愮ず澶辫触
-                                   });
-                                   return;
-                               }
-                               else
-                               {
+                               var result = await UserCenter.DoorLock.DoorLockCommonInfo.SetNormallyOpenModeFuncAsync(Send.CurrentDoorLock);
+                                 if (!result)
+                                 {
+                                     LogicView.TipView.ShowFlashTip("寮�鍚け璐�");
+                                     return;
+                                 }
+                                 else
+                                 {
                                    ///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛�
                                    SkipView.GetLogicAll();//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫
                                    var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫
                                    if (!addResult)
-                                   {
-                                       ///鎻愮ず澶辫触
-                                       return;
-                                   }
-                                   this.RemoveFromParent();
-                                   var soneLogicList = new SoneLogicList();
-                                   UserView.HomePage.Instance.AddChidren(soneLogicList);
-                                   UserView.HomePage.Instance.PageIndex += 1;
-                                   soneLogicList.Show(() => { }, true);
+                                     {
+                                         ///鎻愮ず澶辫触
+                                         LogicView.TipView.ShowFlashTip("娣诲姞澶辫触");
+                                         return;
+                                     }
+                                     Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
+                                     this.RemoveFromParent();
+                                     var soneLogicList = new SoneLogicList();
+                                     UserView.HomePage.Instance.AddChidren(soneLogicList);
+                                     UserView.HomePage.Instance.PageIndex += 1;
+                                     soneLogicList.Show();
 
-                               }
-                           }
-                           catch
-                           {
+                                 }
+                             }
+                             catch
+                             {
 
-                           }
-                       });
+                             }
+                         });
 
-                   });
-                  */
+                     });
 
-                   #endregion
-               };
+                 };
             }
 
             #endregion
@@ -437,14 +397,11 @@
         /// 鍔犺浇鑷姩鍖栧垪琛�
         /// </summary>
         /// <param name="verticalRefresh"></param>
+        RowLayout selectedRow = new RowLayout() { Tag = "0" };//璁板綍宸︽粦鐘舵��
+        int i = 1;
         private void RefreshView(VerticalRefreshLayout verticalRefresh)
         {
             verticalRefresh.RemoveAll();
-            for (int i = 0; i < 6; i++)
-            {
-                Common.Logic.SoneLogicList.Add(new Common.Logic { LogicName = i.ToString() });
-
-            }
             foreach (var logic in Common.Logic.SoneLogicList)
             {
                 #region  鑷姩鍖栧竷灞�View
@@ -461,17 +418,19 @@
                     LineColor = ZigbeeColor.Current.LogicBackgroundColor,
                     BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                     SubViewWidth = Application.GetRealWidth(184),//鏀瑰彉缂栬緫鎺т欢瀹藉害澶氬皯锛�
+                    Tag = i.ToString(),
                 };
                 fLayout.AddChidren(logicRow);
                 //宸︽粦鑿滃崟浜嬩欢
                 logicRow.OpenMenuAction += () =>
                 {
-                    //if (selectedRow.Tag.ToString() != logicRowlayout.Tag.ToString())
-                    //{   //淇濈暀宸︽粦鍙湁涓�涓�;
-                    //    selectedRow.HideMenu();//
-                    //}
-                    //selectedRow = logicRowlayout;
+                    if (selectedRow.Tag.ToString() != logicRow.Tag.ToString())
+                    {   //淇濈暀宸︽粦鍙湁涓�涓�;
+                        selectedRow.HideMenu();//
+                    }
+                    selectedRow = logicRow;
                 };
+                i++;
                 ///鏄剧ず閫昏緫鍚嶇О鐨勬帶浠�
                 var nameBtn = new Button
                 {

--
Gitblit v1.8.0