From bba578c2f0acf2eca747edcb69426771e0cadd32 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期一, 23 三月 2020 18:20:50 +0800
Subject: [PATCH] 2020-03-23-3

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs |   81 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 80 insertions(+), 1 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs
index ff5759c..c0945ed 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs
@@ -469,7 +469,7 @@
                     }
                 }
             }
-            
+
             return sceneUIs;
         }
 
@@ -493,6 +493,85 @@
 
         #endregion
 
+        #region 鈻� 璋冪敤鍦烘櫙___________________________
+
+        /// <summary>
+        /// 璋冪敤鍦烘櫙
+        /// </summary>
+        /// <param name="scene"></param>
+        /// <returns></returns>
+        public async Task<bool> ControlScene(SceneUI scene)
+        {
+            if (scene.RemainTime > 0)
+            {
+                HdlThreadLogic.Current.RunMain(() =>
+                {
+                    //璇ュ満鏅鍦ㄥ欢鏃讹紝璇风◢鍚�
+                    var msgContr = new ShowMsgControl(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.TheSceneIsDelaying));
+                    msgContr.Show();
+                });
+                return false;
+            }
+            //鎵ц璋冪敤鍦烘櫙
+            var result = await Scene.ControlSceneAsync(scene.Id, scene.SceneDelayTime);
+            if (result == null || result.sceneOpenData == null)
+            {
+                //鎺у埗鍦烘櫙澶辫触
+                string msg = Language.StringByID(R.MyInternationalizationString.ControlSceneFail);
+                //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
+                msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result);
+                HdlThreadLogic.Current.RunMain(() =>
+                {
+                    //璇ュ満鏅鍦ㄥ欢鏃讹紝璇风◢鍚�
+                    var msgContr = new ShowMsgControl(ShowMsgType.Tip, msg);
+                    msgContr.Show();
+                });
+                return false;
+            }
+            if (result.sceneOpenData.Result == 0)
+            {
+                //鎺у埗鍦烘櫙澶辫触
+                string msg = Language.StringByID(R.MyInternationalizationString.ControlSceneFail);
+                HdlThreadLogic.Current.RunMain(() =>
+                {
+                    //璇ュ満鏅鍦ㄥ欢鏃讹紝璇风◢鍚�
+                    var msgContr = new ShowMsgControl(ShowMsgType.Tip, msg);
+                    msgContr.Show();
+                });
+                return false;
+            }
+            return true;
+        }
+
+        #endregion
+
+        #region 鈻� 寤舵椂鏃堕棿绾跨▼_______________________
+
+        /// <summary>
+        /// 寮�鍚欢鏃舵椂闂寸嚎绋�(鏃ㄥ湪鍏ㄩ儴鍦版柟鐨勫悓涓�鍦烘櫙鏃堕棿鍚屾)
+        /// </summary>
+        public void StartDelayTimeThread(SceneUI i_scene)
+        {
+            if (i_scene.RemainThreadAction == true)
+            {
+                //绾跨▼鍦ㄨ繍琛屼腑
+                return;
+            }
+            i_scene.RemainThreadAction = true;
+
+            HdlThreadLogic.Current.RunThread(() =>
+            {
+                while (i_scene.RemainTime > 0)
+                {
+                    System.Threading.Thread.Sleep(1000);
+                    i_scene.RemainTime--;
+                }
+                i_scene.RemainThreadAction = false;
+            });
+        }
+
+        #endregion
+
         #region 鈻� 涓�鑸柟娉昣__________________________
 
         /// <summary>

--
Gitblit v1.8.0