From cc0d80c7d86c6d0167269b3408c4b30c24ce84e9 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 23 三月 2020 16:55:37 +0800
Subject: [PATCH] ???????

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

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs
index 6bfcf49..0d8549e 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs
@@ -202,6 +202,21 @@
         }
 
         /// <summary>
+        /// 娣诲姞鎼滆棌鍦烘櫙
+        /// </summary>
+        /// <param name="scene">Scene.</param>
+        public void AddLoveScene(SceneUI scene)
+        {
+            var nowRoom = HdlRoomLogic.Current.GetLoveRoom();
+            //娣诲姞缂撳瓨
+            if (nowRoom.ListSceneId.Contains(scene.Id) == false)
+            {
+                nowRoom.ListSceneId.Add(scene.Id);
+                nowRoom.Save();
+            }
+        }
+
+        /// <summary>
         /// 鍒犻櫎鍦烘櫙(杩欎釜鍙Щ闄ゅ唴瀛�)
         /// </summary>
         /// <param name="scene"></param>
@@ -212,6 +227,21 @@
             {
                 i_room.ListSceneId.Remove(scene.Id);
                 i_room.Save();
+            }
+        }
+
+        /// <summary>
+        /// 鍒犻櫎鎼滆棌鍦烘櫙
+        /// </summary>
+        /// <param name="scene"></param>
+        public void DeleteLoveScene(SceneUI scene)
+        {
+            var nowRoom = HdlRoomLogic.Current.GetLoveRoom();
+            //绉婚櫎缂撳瓨
+            if (nowRoom.ListSceneId.Contains(scene.Id) == true)
+            {
+                nowRoom.ListSceneId.Remove(scene.Id);
+                nowRoom.Save();
             }
         }
 
@@ -463,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