From c1de48884fa145a16a0f8bcee93274dcfaa0ff82 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 07 五月 2020 10:40:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into dev-2020xm

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs |   71 ++++++++++++++++++++++++++++++++---
 1 files changed, 65 insertions(+), 6 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
old mode 100755
new mode 100644
index 90a72cc..858ce2a
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
@@ -82,6 +82,34 @@
         }
 
         /// <summary>
+        /// 鑾峰彇闈㈡澘棰滆壊鐨勪俊鎭�(鍑洪敊浼氳繑鍥瀗ull)
+        /// </summary>
+        /// <param name="panel">鎸夐敭闈㈡澘鐨勬煇涓�涓洖璺�</param>
+        /// <returns></returns>
+        public async Task<Panel.KeyColorData> GetPanelColorInfo(Panel panel)
+        {
+            panel.DeviceEpoint = 1;
+            Panel.KeyNum keyNum = (Panel.KeyNum)panel.DeviceEpoint;
+            var result = await panel.GetPanelColorInfoAsync(keyNum);
+            //鍏遍�氶敊璇娴�
+            string error = HdlCheckLogic.Current.CheckCommonErrorCode(result);
+            if (error != null)
+            {
+                this.ShowErrorMsg(error);
+                return null;
+            }
+
+            if (result == null || result.keyColorData == null)
+            {
+                //鑾峰彇鎸夐敭闈㈡澘棰滆壊璋冭妭淇℃伅澶辫触
+                string msg = Language.StringByID(R.MyInternationalizationString.uGetPanelColorRegulationInfoFail);
+                this.ShowErrorMsg(msg);
+                return null;
+            }
+            return result.keyColorData;
+        }
+
+        /// <summary>
         /// 璁剧疆鎸夐敭闈㈡澘鎸囧畾绔偣鐨勩�愭寚绀虹伅寮�鍏抽鑹层�戠殑淇℃伅
         /// </summary>
         /// <param name="panel">鎸夐敭闈㈡澘鐨勬煇涓�涓洖璺�</param>
@@ -90,7 +118,7 @@
         public async Task<bool> SetPanelEpointColorInfo(Panel panel, Panel.KeyColorData colorData)
         {
             var keyNum = new Panel.KeyNumStatus();
-            Type type = keyNum.GetType();
+            Type type = keyNum.GetType();
             type.InvokeMember("Key" + panel.DeviceEpoint, System.Reflection.BindingFlags.SetField, null, keyNum, new object[] { true });
 
             var result = await panel.SetPanelColorInfoAsync(colorData, keyNum);
@@ -113,8 +141,39 @@
             return true;
         }
 
-        #endregion
+        /// <summary>
+        /// 璁剧疆闈㈡澘棰滆壊
+        /// </summary>
+        /// <param name="panel">鎸夐敭闈㈡澘鐨�</param>
+        /// <param name="colorData">鍙缃紑鐨勯鑹�</param>
+        /// <returns></returns>
+        public async Task<bool> SetPanelColorInfo(Panel panel, Panel.KeyColorData colorData)
+        {
+            var keyNum = new Panel.KeyNumStatus();
+            //榛樿绗竴涓敤闈㈡澘绗竴涓寜閿鑹蹭綔涓烘暣涓潰鏉跨殑棰滆壊
+            keyNum.Key1 = true;
+            var result = await panel.SetPanelColorInfoAsync(colorData, keyNum);
+            if (result == null || result.responseData == null)
+            {
+                //璁剧疆鎸夐敭闈㈡澘鎸囩ず鐏鑹插け璐�
+                string msg = Language.StringByID(R.MyInternationalizationString.uSetPanelPilolightSettionFail);
+                this.ShowErrorMsg(msg);
+                return false;
+            }
+            if (result.responseData.status != 0)
+            {
+                //璁剧疆鎸夐敭闈㈡澘鎸囩ず鐏鑹插け璐�
+                string msg = Language.StringByID(R.MyInternationalizationString.uSetPanelPilolightSettionFail);
+                this.ShowErrorMsg(msg);
+                return false;
+            }
+            //澶囦唤璁惧
+            await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(panel, GatewayBackupEnum.A骞叉帴鐐归鑹茶皟鑺�, colorData);
+            return true;
+        }
 
+        #endregion
+
         #region 鈻� 浜害璋冭妭___________________________
         /// <summary>
         /// 鑾峰彇璁惧浜害閰嶇疆锛坲i鍙寒搴﹁皟鑺�,浣跨敤杩斿洖鍊肩殑panelDirectionsLevel锛�
@@ -243,7 +302,7 @@
         /// 閰嶇疆鎺ヨ繎浼犳劅
         /// </summary>
         /// <param name="device">璁惧瀵硅薄</param>
-        /// <para>sensorEnable:浼犳劅鍣ㄤ娇鑳�</para> 
+        /// <para>sensorEnable:浼犳劅鍣ㄤ娇鑳�</para>
         /// <returns></returns>
         public async Task<bool> SetProximitySensorStatus(CommonDevice device, bool sensorEnable)
         {
@@ -517,15 +576,15 @@
         /// </summary>
         /// <param name="panel">鎸夐敭闈㈡澘鐨勬煇涓�涓洖璺�</param>
         /// <param name="parameter">
-        /// <para>鏂规硶1锛氬綋int[]浼犵┖锛岃繑鍥炲�兼槸鈥滈潰鏉垮叿鏈夌殑鍔熻兘澶х被,鍗宠繑鍥炩�滅涓�绾у埆銆�1024:鐏被锛�256:鎸夐敭绫伙紝768:PIR绫�</para> 
+        /// <para>鏂规硶1锛氬綋int[]浼犵┖锛岃繑鍥炲�兼槸鈥滈潰鏉垮叿鏈夌殑鍔熻兘澶х被,鍗宠繑鍥炩�滅涓�绾у埆銆�1024:鐏被锛�256:鎸夐敭绫伙紝768:PIR绫�</para>
         /// <para>鏂规硶2锛氥�佸綋int[]鍊间负绗竴绾у埆PrivateFuncTypeFir涓�夋嫨涓�涓��</para>
         /// <para>杩斿洖鍊兼槸鈥滈潰鎸夐敭鍙戦�佸姛鑳界被鈥濓紝鍗宠繑鍥炩�滅浜岀骇鍒��</para>
         /// <para>100:Switch,寮�鍏筹紙鎸夐敭绫伙級;200:Dimmer,璋冨厜锛堟寜閿被锛�;300:Curtain,绐楀笜锛堟寜閿被锛�</para>
         /// <para>0:EnergySavingMode,鑺傝兘妯″紡锛堢伅绫伙級;1:SleepMode,鐫$湢妯″紡锛堢伅绫伙級;100:WhiteBalance,鐧藉钩琛★紙鐏被锛�;101:RGBColor,RGB鎸囩ず鐏鑹诧紙鐏被锛�;102:RGBLevel,RGB鎸囩ず鐏寒搴︼紙鐏被锛�</para>
         /// <para>鏂规硶3锛氬綋int[]鍊间负绗竴绾у埆PrivateFuncTypeFir涓�夋嫨涓�涓紝鎺ョ潃鍐嶉�夌浜岀骇鍒玃rivateFunTypeSec涓�夋嫨涓�涓� </para>
         /// <para>杩斿洖鍊兼槸鈥滈潰鎸夐敭鍏蜂綋鍔熻兘閰嶇疆鈥濓紝鍗宠繑鍥炩�滅浜岀骇鍒��</para>
-        /// <para>100:SwitchOpen,寮�鍏冲紑锛堟寜閿被锛�;101:SwitchClose,寮�鍏冲叧锛堟寜閿被锛�;102:SwitchChange,寮�鍏冲垏鎹紙鎸夐敭绫伙級</para> 
-        /// <para>200:DimmerStepUp,澧炲ぇ璋冨厜锛堟寜閿被锛�;201:DimmerStepDown,闄嶄綆璋冨厜锛堟寜閿被锛�;202:DimmerStepChange,璋冨厜鍒囨崲锛堟寜閿被锛�</para> 
+        /// <para>100:SwitchOpen,寮�鍏冲紑锛堟寜閿被锛�;101:SwitchClose,寮�鍏冲叧锛堟寜閿被锛�;102:SwitchChange,寮�鍏冲垏鎹紙鎸夐敭绫伙級</para>
+        /// <para>200:DimmerStepUp,澧炲ぇ璋冨厜锛堟寜閿被锛�;201:DimmerStepDown,闄嶄綆璋冨厜锛堟寜閿被锛�;202:DimmerStepChange,璋冨厜鍒囨崲锛堟寜閿被锛�</para>
         /// <para>300:CurtainOpen,绐楀笜寮�锛堟寜閿被锛�;301:CurtainClose,绐楀笜鍏筹紙鎸夐敭绫伙級;302:CurtainStop,绐楀笜鍋�;303:CurtainUpStop,绐楀笜涓婂崌鍋�;304:CurtainDownstop,绐楀笜涓嬮檷鍋�</para>
         /// </param>
         /// <returns></returns>

--
Gitblit v1.8.0