From 944b87b6bcccb095cd73f13f4410fb20faf48f74 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期三, 25 十二月 2019 11:21:06 +0800
Subject: [PATCH] 2019.12.25

---
 ZigbeeApp/Shared/Phone/ZigBee/Device/BindObj.cs |   55 ++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 40 insertions(+), 15 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/BindObj.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/BindObj.cs
index 95f1a58..4953b41 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/BindObj.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/BindObj.cs
@@ -13,7 +13,6 @@
         /// </summary>
         public async System.Threading.Tasks.Task<AddedDeviceBindResponseAllData> AddDeviceBindAsync(AddBindData addBindData)
         {
-
             return await System.Threading.Tasks.Task.Run(async () =>
             {
                 var result = new AddedDeviceBindResponseAllData();
@@ -74,10 +73,11 @@
                         {
                             result.addBindResultResponseData = tempData;
                         }
+                        DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{topic}");
                     }
                 };
                 mainGateway.Actions += action;
-                DebugPrintLog("Bind/SetBind_Actions 鍚姩" + "_" + System.DateTime.Now.ToString());
+                DebugPrintLog("Bind/SetBind_Actions 鍚姩" + "_" + System.DateTime.Now.ToLongTimeString() + " " + System.DateTime.Now.Millisecond);
                 try
                 {
                     if (addBindData != null)
@@ -90,9 +90,9 @@
                             {
                                 var dInfo = new JObject{
                             { "BindMacAddr",bindInfo.BindMacAddr},
-                         { "BindEpoint", bindInfo.BindEpoint} ,
-                         { "BindCluster", bindInfo.BindCluster} ,
-                         { "BindType",bindInfo.BindType}
+                            { "BindEpoint", bindInfo.BindEpoint} ,
+                            { "BindCluster", bindInfo.BindCluster} ,
+                            { "BindType",bindInfo.BindType}
                             };
                                 bindList.Add(dInfo);
                             }
@@ -100,15 +100,15 @@
                             {
                                 var dInfo = new JObject{
                              { "BindCluster", bindInfo.BindCluster} ,
-                         { "BindType",bindInfo.BindType},
-                         { "BindScenesId", bindInfo.BindScenesId}
+                             { "BindType",bindInfo.BindType},
+                             { "BindScenesId", bindInfo.BindScenesId}
                             };
                                 bindList.Add(dInfo);
                             }
                         }
                         var data = new JObject{
-                    {"BindName",addBindData.BindName},
-                    { "BindList", bindList }
+                            {"BindName",addBindData.BindName},
+                             { "BindList", bindList }
                     };
                         jObject.Add("Data", data);
                         //ZbGateway.MainGateWay.CurrentGateWayId = ZbGateway.MainGateWay.getGatewayBaseInfo?.gwID;
@@ -127,7 +127,21 @@
                     {
                         continue;
                     }
-                    if (0 < result.addedDeviceBindResponseData.BindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 2).Count)
+                    if (0 < result.addedDeviceBindResponseData.BindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 1).Count)
+                    {
+                        if (result.addBindResultResponseData != null)
+                        {
+                            break;
+                        }
+                    }
+                    else if (0 < result.addedDeviceBindResponseData.BindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 2).Count)
+                    {
+                        if (result.addBindResultResponseData != null)
+                        {
+                            break;
+                        }
+                    }
+                    else if (0 < result.addedDeviceBindResponseData.BindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 3).Count)
                     {
                         if (result.addBindResultResponseData != null)
                         {
@@ -144,7 +158,7 @@
                     result.errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔";
                 }
                 mainGateway.Actions -= action;
-                System.Console.WriteLine($"Bind/SetBind_Actions 閫�鍑� {System.DateTime.Now}");
+                System.Console.WriteLine($"Bind/SetBind_Actions 閫�鍑� { System.DateTime.Now.ToLongTimeString() + " " + System.DateTime.Now.Millisecond}");
                 return result;
             });
         }
@@ -405,7 +419,6 @@
                 }
                 catch { }
 
-
                 var dateTime = DateTime.Now;
                 while ((DateTime.Now - dateTime).TotalMilliseconds < WaitReceiveDataTime)
                 {
@@ -414,7 +427,21 @@
                     {
                         continue;
                     }
-                    if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0).Count)
+                    if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 1).Count)
+                    {
+                        if (responseData.removeBindResultResponseData != null)
+                        {
+                            break;
+                        }
+                    }
+                    else if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 3).Count)
+                    {
+                        if (responseData.removeBindResultResponseData != null)
+                        {
+                            break;
+                        }
+                    }
+                    else if (0 < responseData.delDeviceBindResponseData.RemoveBindList.FindAll((obj) => obj.BindType == 0 && obj.Result == 4).Count)
                     {
                         if (responseData.removeBindResultResponseData != null)
                         {
@@ -426,14 +453,12 @@
                         break;
                     }
                 }
-
                 if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime)
                 {
                     responseData.errorMessageBase = "鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔";
                 }
                 mainGateway.Actions -= action;
                 System.Console.WriteLine("DeviceBind/DelBind_Actions 閫�鍑�" + System.DateTime.Now.ToString());
-
                 return responseData;
             });
         }

--
Gitblit v1.8.0