From 99da2604f81af29afc6b3c6f4f128b4e5a8a5649 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 13 五月 2020 12:00:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into dev-2020xm

---
 ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs |  338 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 257 insertions(+), 81 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
index 54e00a4..05328f5 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
@@ -19,12 +19,6 @@
         public  Action<bool> action;
         ///绗簩鍧楃涓�绾х埗鎺т欢
         FrameLayout fLayout = new FrameLayout();
-        ///甯稿紑妯″紡鍥炬爣
-        Button modeIconBtn = new Button();
-        ///绗簩鍧楃浜岀骇鐖舵帶浠�
-        FrameLayout modeFl = new FrameLayout();
-        Button button1 = new Button();
-        Button button2= new Button();
         ///绗笁鍧楃涓�绾х埗鎺т欢
         FrameLayout listLogicFl = new FrameLayout();
         ///甯稿紑鑷姩鍖栧垪琛ㄤ笂涓嬫粦鍔ㄧ殑鎺т欢
@@ -39,7 +33,7 @@
         public int timeValue = 0;
         public async void Show()
         {
-           
+
             #region  鐣岄潰鐨勫竷灞�浠g爜
             UserView.HomePage.Instance.ScrollEnabled = false;//閿佷綇宸︽粦
             TopView view = new TopView();
@@ -92,30 +86,6 @@
                 BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
             };
             middle.AddChidren(fLayout);
-            ///甯稿紑妯″紡鍥炬爣
-            modeIconBtn = new Button
-            {
-                X = Application.GetRealWidth(395),
-                Y = Application.GetRealHeight(92),
-                Width = Application.GetMinRealAverage(294),
-                Height = Application.GetMinRealAverage(294),
-            };
-            fLayout.AddChidren(modeIconBtn);
-            ///绗簩鍧楃浜岀骇鐖舵帶浠�
-            modeFl = new FrameLayout
-            {
-            };
-            fLayout.AddChidren(modeFl);
-
-            button1 = new Button
-            {
-            };
-            modeFl.AddChidren(button1);
-
-            button2 = new Button
-            {
-            };
-            modeFl.AddChidren(button2);
             ModeView();
             #endregion
             #region 甯稿紑鑷姩鍖�
@@ -162,7 +132,7 @@
                 UnSelectedImagePath = "ZigeeLogic/add.png",
             };
             addLogicfL.AddChidren(addIconBtn);
-
+            ///鍔犲ぇ鐐瑰嚮鐑敭
             var addIconclickBtn = new Button
             {
                 Width = Application.GetRealWidth(90 + 69 + 63),
@@ -245,33 +215,46 @@
         /// <summary>
         /// 甯稿紑妯″紡寮�鍏冲垏鎹㈠浘鏍囩晫闈�
         /// </summary>
-        public async void ModeView()
+        public  void ModeView()
         {
-            
+
+            fLayout.RemoveAll();
+            ///甯稿紑妯″紡鍥炬爣
+            Button modeIconBtn = new Button
+            {
+                X = Application.GetRealWidth(395),
+                Y = Application.GetRealHeight(92),
+                Width = Application.GetMinRealAverage(294),
+                Height = Application.GetMinRealAverage(294),
+            };
+            fLayout.AddChidren(modeIconBtn);
             if (Send.CurrentDoorLock.IsDoorLockNormallyMode)
             {
-                fLayout.Height = Application.GetRealHeight(780);//鏀瑰彉楂樺害 
+
+                fLayout.Height = Application.GetRealHeight(780);//鏀瑰彉楂樺害
                 modeIconBtn.UnSelectedImagePath = "ZigeeLogic/openMode.png";//鏀瑰彉鍥炬爣鐘舵��
-                modeFl.Y = modeIconBtn.Bottom + Application.GetRealHeight(64);
-                modeFl.X = Application.GetRealWidth(0);
-                modeFl.Height = Application.GetRealHeight(127 + 199);
-                modeFl.Width = Application.GetRealHeight(1080);
-                modeFl.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
-                modeFl.SetCornerWithSameRadius(Application.GetRealHeight(0), HDLUtils.RectCornerBottomLeft);
-
+                ///绗簩绾х埗鎺т欢
+                var openModeFl = new FrameLayout
+                {
+                    Y = Application.GetRealHeight(455),
+                    Height = Application.GetRealHeight(127 + 199),
+                    Width = Application.GetRealWidth(1080),
+                };
+                fLayout.AddChidren(openModeFl);
                 ///鍏抽棴鏃舵晥鎬ц嚜鍔ㄥ寲
-                button1.Y = Application.GetRealHeight(0);
-                button1.X = Application.GetRealWidth(86);
-                button1.Width = Application.GetRealWidth(907);
-                button1.Height = Application.GetRealHeight(127);
-                button1.Radius = (uint)Application.GetRealHeight(58);
-                button1.BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor;
-                button1.TextAlignment = TextAlignment.Center;
-                button1.TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor;
-                button1.TextID = MyInternationalizationString.closeUp;
-                button1.TextSize = 16;
-
-                button1.MouseUpEventHandler = async (sender, e) =>
+                Button closeBtn = new Button
+                {
+                    X = Application.GetRealWidth(86),
+                    Height = Application.GetRealHeight(127),
+                    Width = Application.GetRealWidth(907),
+                    Radius = (uint)Application.GetRealHeight(58),
+                    BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor,
+                    TextID = MyInternationalizationString.closeUp,
+                    TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor,
+                    TextSize = 16,
+                };
+                openModeFl.AddChidren(closeBtn);
+                closeBtn.MouseUpEventHandler += async (sender, e) =>
                 {
                     CommonPage.Loading.Start();
                     try
@@ -302,16 +285,20 @@
                         });
                     }
                 };
+
+                ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢
+                var timeTextBtn = new Button
+                {
+                    Y = Application.GetRealHeight(127 + 69),
+                    X = Application.GetRealWidth(125),
+                    Width = Application.GetRealWidth(634 + 200),
+                    Height = Application.GetRealHeight(60),
+                    TextSize = 15,
+                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+                };
                 if (logicId != 0)
                 {
-                    ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢
-                    button2.Y = Application.GetRealHeight(127 + 69);
-                    button2.X = Application.GetRealWidth(125);
-                    button2.Width = Application.GetRealWidth(634 + 200);
-                    button2.Height = Application.GetRealHeight(60);
-                    button2.UnSelectedImagePath = "ZigeeLogic/1234.png";
-                    button2.TextSize = 15;
-                    button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
+                    openModeFl.AddChidren(timeTextBtn);
                     ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈�
                     var y = DateTime.Now.Year.ToString();//閭d竴骞�
                     var m = DateTime.Now.Month.ToString();//閭d竴鏈�
@@ -325,16 +312,212 @@
                     string text3 = Language.StringByID(MyInternationalizationString.monthSone);
                     string text4 = Language.StringByID(MyInternationalizationString.numberSone);
                     string text5 = Language.StringByID(MyInternationalizationString.executeSone);
-                    button2.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5;
+                    timeTextBtn.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5;
+                }
+
+
+            button1 = new Button
+            {
+                fLayout.Height = Application.GetRealHeight(645);//鏀瑰彉楂樺害
+                modeIconBtn.UnSelectedImagePath = "ZigeeLogic/noMode.png";//鏀瑰彉鍥炬爣鐘舵��
+                ///绗簩绾х埗鎺т欢
+                var modeFl = new FrameLayout
+                {
+                    Y = Application.GetRealHeight(478),
+                    X = Application.GetRealWidth(58),
+                    Height = Application.GetRealHeight(138),
+                    Width = Application.GetRealWidth(1022),
+                    BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
+                };
+                fLayout.AddChidren(modeFl);
+                modeFl.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerBottomLeft);
+                ///鏃舵晥鎬у父寮�璁剧疆鏄剧ず鏂囨湰鎺т欢
+                var modeTextBtn = new Button
+                {
+
+                    Y = Application.GetRealHeight(40),
+                    X = Application.GetRealWidth(58),
+                    Width = Application.GetRealWidth(600),
+                    Height = Application.GetRealHeight(60),
+                    TextSize = 15,
+                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    // Text = "鏃舵晥鎬у父寮�璁剧疆",
+                    TextID = MyInternationalizationString.timeSetSone,
+                };
+                modeFl.AddChidren(modeTextBtn);
+                ///涓嬩竴绾ц彍鍗曞浘鏍囨帶浠�
+                var nextIconBtn = new Button
+                {
+                    Width = Application.GetMinRealAverage(104),
+                    Height = Application.GetMinRealAverage(104),
+                    X = Application.GetRealWidth(861),
+                    Y = Application.GetRealHeight(17),
+                    UnSelectedImagePath = "ZigeeLogic/nextIconSone.png",
+                };
+                modeFl.AddChidren(nextIconBtn);
+
+                ///鍔犲ぇ鐐瑰嚮鐑敭
+                var clickBtn = new Button
+                {
+                    Width = Application.GetRealWidth(104 + 161 + 30),
+                    Height = Application.GetRealHeight(138),
+                    X = Application.GetRealWidth(700),
+                };
+                modeFl.AddChidren(clickBtn);
+                clickBtn.MouseUpEventHandler += (sender, e) =>
+                 {
+
+                     LogicView.TipView.ShowConfrimTip(() =>
+
+                     {///鍐嶆纭
+                        LogicView.TipView.ShowInputTip(true, async (str) =>
+                         {///纭鍙戦�佸懡浠�
+                            CommonPage.Loading.Start();
+                             try
+                             {
+                                ///xm
+                                var result = await UserCenter.DoorLock.DoorLockCommonInfo.SetNormallyOpenModeFuncAsync(Send.CurrentDoorLock);
+                                 if (!result)
+                                 {
+                                     LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.openFailed));
+                                     return;
+                                 }
+                                 else
+                                 {
+                                    ///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛�
+                                    SkipView.GetLogicAll();//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫
+                                    var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫
+                                    if (addResult == 0)
+                                    {
+                                        ///鍙璇村鏋滃父寮�妯″紡寮�锛屽垱寤鸿嚜鍔ㄥ寲澶辫触锛岄偅涔堝皢瑕佸彂涓�鏉″父寮�妯″紡鍏抽棴鍛戒护;
+                                        UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
+                                        ///鎻愮ず澶辫触
+                                        LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.addFailed));
+                                        return;
+                                    }
+                                    logicId = addResult;
+                                    timeValue = int.Parse(str);
+                                    Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
+                                    ModeView();
+                                    //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
+                                    UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(Send.CurrentDoorLock, 9001, string.Empty);
+                                }
+                            }
+                            catch
+                            {
+
+                            }
+                            finally
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    CommonPage.Loading.Hide();
+
+                                });
+                            }
+                        });
+
+                    });
+
+                };
+            }
+
+            listLogicFl.Y = fLayout.Bottom;
+            listLogicFl.X = Application.GetRealWidth(58);
+            listLogicFl.Height = Application.GetRealHeight(Method.H - 184) - fLayout.Height;
+            listLogicFl.Width = Application.GetRealWidth(1022);
+            listLogicFl.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor;
+        }
+        /// <summary>
+        /// 甯稿紑妯″紡寮�鍏冲垏鎹㈠浘鏍囩晫闈�
+        /// </summary>
+        public async void ModeView()
+        {
+
+            if (Send.CurrentDoorLock.IsDoorLockNormallyMode)
+            {
+                /// 鏌ユ壘鏄惁瀛樺湪鏃舵晥鎬ц嚜鍔ㄥ寲锛涙湁鐨勮瘽灏辫繑鍥炶嚜鍔ㄥ寲瀵硅薄;
+                var logic = await SkipView.GetLogicIfon();
+
+                fLayout.Height = Application.GetRealHeight(780);//鏀瑰彉楂樺害
+                modeIconBtn.UnSelectedImagePath = "ZigeeLogic/openMode.png";//鏀瑰彉鍥炬爣鐘舵��
+                modeFl.Y = modeIconBtn.Bottom + Application.GetRealHeight(64);
+                modeFl.X = Application.GetRealWidth(0);
+                modeFl.Height = Application.GetRealHeight(127 + 199);
+                modeFl.Width = Application.GetRealHeight(1080);
+                modeFl.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
+                modeFl.SetCornerWithSameRadius(Application.GetRealHeight(0), HDLUtils.RectCornerBottomLeft);
+
+                ///鍏抽棴鏃舵晥鎬ц嚜鍔ㄥ寲
+                button1.Y = Application.GetRealHeight(0);
+                button1.X = Application.GetRealWidth(86);
+                button1.Width = Application.GetRealWidth(907);
+                button1.Height = Application.GetRealHeight(127);
+                button1.Radius = (uint)Application.GetRealHeight(58);
+                button1.BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor;
+                button1.TextAlignment = TextAlignment.Center;
+                button1.TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor;
+                button1.TextID = MyInternationalizationString.closeUp;
+                button1.TextSize = 16;
+
+                button1.MouseUpEventHandler = async (sender, e) =>
+                {
+                    var result = await UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
+                    if (result)
+                    {
+                        if (logic != null)
+                        {
+                            ///鏈夊彲鑳藉彧鏈夊父寮�妯″紡锛屾病鏈夋椂鏁堟�ц嚜鍔ㄥ寲
+                            ///娌℃湁鍒ゆ柇鐨勮瘽锛岄�昏緫浼氫负绌猴紝鎶涘嚭寮傚父;
+                            Send.DelLogic(logic.LogicId);
+                        }
+                        Send.CurrentDoorLock.IsDoorLockNormallyMode = false;
+                        ModeView();
+                    }
+                    else
+                    {
+                        LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.closeFailed));
+                    }
+
+                };
+                if (logic != null)
+                {
+                    ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢
+                    button2.Y = Application.GetRealHeight(127 + 69);
+                    button2.X = Application.GetRealWidth(125);
+                    button2.Width = Application.GetRealWidth(634 + 200);
+                    button2.Height = Application.GetRealHeight(60);
+                    button2.UnSelectedImagePath = "ZigeeLogic/1234.png";
+                    button2.TextSize = 15;
+                    button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
+                    ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈�
                 }
                 else
                 {
-                    button2.Y = Application.GetRealHeight(0);
-                    button2.X = Application.GetRealWidth(0);
                     button2.Width = Application.GetRealWidth(0);
                     button2.Height = Application.GetRealHeight(0);
                 }
-           
+                ///鏃舵晥鎬у父寮�鍙湁涓�涓潯浠�;
+                try
+                {
+
+                    var y = DateTime.Now.Year.ToString();//閭d竴骞�
+                    var m = DateTime.Now.Month.ToString();//閭d竴鏈�
+                    var d = DateTime.Now.ToString("dd");//閭d竴澶�
+                    var h = int.Parse(DateTime.Now.ToString("HH"));//褰撳墠绯荤粺鏃堕棿
+                    var timeInt = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]);
+                    int dayInt = (h + timeInt) / 24;//绠楀嚭鍑犲ぉ鍚庢墽琛�
+                    int hour = (h + timeInt) % 24;//绠楀嚭鍑犲ぉ鍚庨偅涓椂闂存墽琛�
+                    int days = int.Parse(d) + dayInt;
+                    string text1 = Language.StringByID(MyInternationalizationString.timeSensitive);
+                    string text2 = Language.StringByID(MyInternationalizationString.yearSone);
+                    string text3 = Language.StringByID(MyInternationalizationString.monthSone);
+                    string text4 = Language.StringByID(MyInternationalizationString.numberSone);
+                    string text5 = Language.StringByID(MyInternationalizationString.executeSone);
+                    button2.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5;
+                }
+                catch { }
 
             }
             else
@@ -370,7 +553,6 @@
                 button2.UnSelectedImagePath = "ZigeeLogic/nextIconSone.png";
                 button2.TextSize = 15;
                 button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
-                button2.Text ="";
                 button2.MouseUpEventHandler = (sender, e) =>
                 {
 
@@ -379,7 +561,6 @@
                     {///鍐嶆纭
                         LogicView.TipView.ShowInputTip(true, async (str) =>
                         {///纭鍙戦�佸懡浠�
-                            CommonPage.Loading.Start();
                             try
                             {
                                 ///xm
@@ -394,7 +575,7 @@
                                     ///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛�
                                     SkipView.GetLogicAll();//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫
                                     var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫
-                                    if (addResult == 0)
+                                    if (!addResult)
                                     {
                                         ///鍙璇村鏋滃父寮�妯″紡寮�锛屽垱寤鸿嚜鍔ㄥ寲澶辫触锛岄偅涔堝皢瑕佸彂涓�鏉″父寮�妯″紡鍏抽棴鍛戒护;
                                         UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock);
@@ -402,8 +583,6 @@
                                         LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.addFailed));
                                         return;
                                     }
-                                    logicId = addResult;
-                                    timeValue = int.Parse(str);
                                     Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
                                     ModeView();
                                     //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
@@ -413,14 +592,6 @@
                             catch
                             {
 
-                            }
-                            finally
-                            {
-                                Application.RunOnMainThread(() =>
-                                {
-                                    CommonPage.Loading.Hide();
-
-                                });
                             }
                         });
 
@@ -477,8 +648,13 @@
 
             }
         }
-      
+
         RowLayout selectedRow = new RowLayout() { Tag = "0" };//璁板綍宸︽粦鐘舵��
+        int a = 1;
+        /// <summary>
+        /// 璁板綍宸︽粦鐘舵��
+        /// </summary>
+        RowLayout selectedRow = new RowLayout() { Tag = "0" };
         int a = 1;
         /// <summary>
         /// 鍔犺浇鑷姩鍖栧垪琛�
@@ -578,7 +754,7 @@
                     TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor,
                 };
                 logicRow.AddRightView(edit);
-               
+
                 ///鍒犻櫎
                 var del = new Button
                 {

--
Gitblit v1.8.0