From 7b43f0f5c5dca88576efc0bb51bf95b523de90c9 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 10 七月 2020 11:33:06 +0800
Subject: [PATCH] 2020-07-10 1.修复窗帘定时器发送控制失败问题。

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/Alexa/AlexaDeviceListPage.cs |   88 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 79 insertions(+), 9 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Alexa/AlexaDeviceListPage.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Alexa/AlexaDeviceListPage.cs
index f042ff9..b84d940 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Alexa/AlexaDeviceListPage.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Alexa/AlexaDeviceListPage.cs
@@ -77,7 +77,7 @@
                         });
                     }
                 } catch (Exception ex) {
-                    Console.WriteLine (ex.Message);
+                    Utlis.WriteLine (ex.Message);
                 } finally {
                     Application.RunOnMainThread (() => {
                         MainPage.Loading.Hide ();
@@ -98,7 +98,7 @@
                                 InitDevcieRow (alexaDeviceLista, bodyView);
                             });
                         } catch (Exception ex) {
-                            Console.WriteLine (ex.Message);
+                            Utlis.WriteLine (ex.Message);
                         } finally {
                             Application.RunOnMainThread (() => {
                                 MainPage.Loading.Hide ();
@@ -122,7 +122,11 @@
                                 if (common != null) {
                                     var oldDevice = alexaDeviceLista.Find ((obj) => obj.SubnetID == common.SubnetID && obj.DeviceID == common.DeviceID && obj.LoopID == common.LoopID && obj.DeviceType == common.Type.ToString ());
                                     if (oldDevice == null) {
-                                        AddDevice (common);
+                                        var isSuccess = AddDevice (common);
+                                        if (!isSuccess) {
+                                            //璺冲嚭寰幆
+                                            break;
+                                        }
                                     }
                                 }
                             }
@@ -131,7 +135,7 @@
 
                                 if (!roomDeviceFilePathList.Contains (oldDevicePath)) {
                                     DelDevice (oldDevice.Id);
-                                    Console.WriteLine ("delDevice " + oldDevice.DeviceName);
+                                    Utlis.WriteLine ("delDevice " + oldDevice.DeviceName);
                                 }
                             }
 
@@ -356,7 +360,11 @@
                                             }
                                         }
 
-                                        AddScene (uploadScene);
+                                        var isSuccess = AddScene (uploadScene);
+                                        if (!isSuccess) {
+                                            //璺冲嚭寰幆
+                                            break;
+                                        }
                                     }
                                 }
 
@@ -372,7 +380,7 @@
                             });
 
                         } catch (Exception ex) {
-                            Console.WriteLine (ex.Message);
+                            Utlis.WriteLine (ex.Message);
                         } finally {
                             Application.RunOnMainThread (() => {
                                 MainPage.Loading.Hide ();
@@ -415,7 +423,7 @@
                             userDeviceListPage.ShowPage (action, saveAction);
                         });
                     } catch (Exception ex) {
-                        Console.WriteLine (ex.Message);
+                        Utlis.WriteLine (ex.Message);
                     } finally {
                         Application.RunOnMainThread (() => {
                             MainPage.Loading.Hide ();
@@ -435,8 +443,12 @@
             var requestObj = new GetDeviceListObj () { RegionID = UserConfig.Instance.CurrentRegion.Id };
             var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
             var revertObj = MainPage.RequestHttps (API.GetDeviceList, requestJson);
-            if (revertObj.StateCode.ToUpper() == "SUCCESS") {
-                deviceList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UpdateDeviceObj>> (revertObj.ResponseData.ToString());
+            if (revertObj.StateCode.ToUpper () == "SUCCESS") {
+                deviceList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UpdateDeviceObj>> (revertObj.ResponseData.ToString ());
+            } else {
+                //2020-06-29 寮圭獥鎻愮ず閿欒
+
+
             }
             return deviceList;
         }
@@ -462,8 +474,49 @@
             var revertObj = MainPage.RequestHttps (API.UploadDevices, requestJson);
             if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                 return true;
+            }else if (revertObj.StateCode == "Exist") {
+                Application.RunOnMainThread (() => {
+                    MainPage.AddTip (ErrorCode.AddFailed + " " + ErrorCode.NameExist + " ( " + device.Name + " )");
+                });
+                return true;
+            } else {
+                //2020-06-29 寮瑰嚭鎻愮ず閿欒
+                ShowUploadDevicesInfo (revertObj.StateCode);
             }
             return false;
+        }
+
+        /// <summary>
+        /// 涓婁紶璁惧 閿欒鎻愮ず
+        /// </summary>
+        /// <param name="stateCodeStr"></param>
+        void ShowUploadDevicesInfo (string stateCodeStr)
+        {
+            string mes = "";
+            if (stateCodeStr == "NoRecord") {
+                //浣忓畢鏈粦瀹氱綉鍏筹紒
+                mes = ErrorCode.HomeNoRecord;
+            } else if (stateCodeStr == "NoExist") {
+                //浣忓畢涓嶅瓨鍦紒
+                mes = ErrorCode.HomeNoExist;
+            } else if (stateCodeStr == "Exist") {
+                //璁惧鍚嶇О宸插瓨鍦�
+                mes = ErrorCode.NameExist;
+            } else if (stateCodeStr == ErrorCode.NetworkError) {
+                mes = ErrorCode.NetworkError;
+            } else {
+                mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr;
+
+            }
+            if (!string.IsNullOrEmpty (mes)) {
+                Application.RunOnMainThread (() => {
+                    MainPage.AddTip (ErrorCode.AddFailed + " " + mes);
+
+                    //new Alert ("", ErrorCode.AddFailed + " " + mes, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                });
+            }
+
+
         }
 
         /// <summary>
@@ -476,6 +529,9 @@
             var revertObj = MainPage.RequestHttps (API.DeleteDevice, requestJson);
             if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                 return true;
+            } else {
+                //2020-06-29 寮圭獥鎻愮ず閿欒
+
             }
             return false;
         }
@@ -493,6 +549,8 @@
             var revertObj = MainPage.RequestHttps (API.GetSceneList, requestJson);
             if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                 sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SceneByRegion>> (revertObj.ResponseData.ToString ());
+            } else {
+                //2020-06-29 寮圭獥鎻愮ず閿欒
             }
             return sceneList;
         }
@@ -511,7 +569,16 @@
                 //if (revertAddDeviceObj.StateCode.ToUpper() == "SUCCESS") {
                     return true;
                 //}
+            } else if (revertObj.StateCode == "Exist") {
+                Application.RunOnMainThread (() => {
+                    MainPage.AddTip (ErrorCode.AddFailed + " " + ErrorCode.NameExist + " ( " + sceneMark.SceneName + " )");
+                });
+                return true;
+            } else {
+                //2020-06-29 寮瑰嚭鎻愮ず閿欒
+                ShowUploadDevicesInfo (revertObj.StateCode);
             }
+
             return false;
         }
 
@@ -539,6 +606,9 @@
             var revertObj = MainPage.RequestHttps (API.DeleteScene, requestJson);
             if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                 return true;
+            } else {
+                //2020-06-29 寮圭獥鎻愮ず閿欒
+
             }
             return false;
         }

--
Gitblit v1.8.0