From bbc74a6dae2e90a811b2507c5896fe89aa29ccc0 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 08 一月 2020 11:30:46 +0800
Subject: [PATCH] 2020-01-08 1.替换新服务器接口。

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/UserSchedule.cs |  102 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 72 insertions(+), 30 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/UserSchedule.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/UserSchedule.cs
index b61d2bb..9b2eb04 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/UserSchedule.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/UserSchedule.cs
@@ -100,14 +100,17 @@
             MainPage.Loading.Start ("Please wait...");
             System.Threading.Tasks.Task.Run (() => {
                 try {
-                    var requestObj = new Timer () { RegionID = UserConfig.Instance.CurrentRegion.RegionID };
+                    var requestObj = new Timer () { RegionID = UserConfig.Instance.CurrentRegion.Id };
                     var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
-                    var revertObj = MainPage.RequestHttps ("GetTimerList", requestJson);
-                    if (revertObj.StateCode == "SUCCESS") {
+                    var revertObj = MainPage.RequestHttps (API.GetTimerList, requestJson, true);
+                    if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                         timers = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Timer>> (revertObj.ResponseData.ToString ());
                         foreach (var schedule in timers) {
                             initSchedule (schedule);
                         }
+                    } else {
+                        //鎻愮ず閿欒
+                        ShowGetTimerListErrorInfo (revertObj.StateCode);
                     }
                 } catch (Exception ex) {
                     Console.WriteLine (ex.Message);
@@ -118,6 +121,35 @@
                 }
             });
         }
+
+        /// <summary>
+        //(1)Success 鍒欒皟鐢ㄦ鎺ュ彛鎴愬姛
+        //(2)NoRecord 浣忓畢鏈粦瀹氱綉鍏筹紒
+        //(3)NoExist 浣忓畢涓嶅瓨鍦紒
+        /// </summary>
+        void ShowGetTimerListErrorInfo (string stateCodeStr)
+        {
+            string mes = "";
+            if (stateCodeStr == "NoRecord") {
+                // 浣忓畢鏈粦瀹氱綉鍏筹紒
+                mes = ErrorCode.HomeNoRecord;
+            } else if (stateCodeStr == "NoExist") {
+                //浣忓畢涓嶅瓨鍦紒
+                mes = ErrorCode.HomeNoExist;
+            } else if (stateCodeStr == ErrorCode.NetworkError) {
+                mes = ErrorCode.NetworkError;
+            } else {
+                mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr;
+
+            }
+            if (!string.IsNullOrEmpty (mes)) {
+                Application.RunOnMainThread (() => {
+                    new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                });
+            }
+
+        }
+
 
         void reinitSchedule(Timer schedule)
         {
@@ -277,8 +309,8 @@
                         try {
                             var switchObj = new Timer () { Guid = (sdd as Button).Tag.ToString () };
                             var switchRequestJson = Newtonsoft.Json.JsonConvert.SerializeObject (switchObj);
-                            var switchRevertObj = MainPage.RequestHttps ("IsEnableTimer", switchRequestJson);
-                            if (switchRevertObj.StateCode != "SUCCESS") {
+                            var switchRevertObj = MainPage.RequestHttps (API.IsEnableTimer, switchRequestJson, true);
+                            if (switchRevertObj.StateCode.ToUpper()  != "SUCCESS") {
                                 Application.RunOnMainThread (() => {
                                     tempSiwtch.IsSelected = !tempSiwtch.IsSelected;
                                 });
@@ -300,13 +332,14 @@
                 };
                 rowView.AddRightView (btnDel);
                 btnDel.MouseUpEventHandler += (sender, er) => {
-                    var delObj = new Timer () { Guid = (sender as Button).Tag.ToString () };
-                    var delRequestJson = Newtonsoft.Json.JsonConvert.SerializeObject (delObj);
-                    var delRevertObj = MainPage.RequestHttps ("DeleteTimer", delRequestJson);
-                    if (delRevertObj.StateCode == "SUCCESS") {
-                        rowView.RemoveFromParent ();
-                        timers.Remove (timers.Find((obj) => obj.Guid == delObj.Guid));
-                    }
+                    DeleteTimerAction ((sender as Button).Tag.ToString (), rowView, true);
+                    //var delObj = new Timer () { Guid = (sender as Button).Tag.ToString () };
+                    //var delRequestJson = Newtonsoft.Json.JsonConvert.SerializeObject (delObj);
+                    //var delRevertObj = MainPage.RequestHttps ("DeleteTimer", delRequestJson);
+                    //if (delRevertObj.StateCode.ToUpper() == "SUCCESS") {
+                    //    rowView.RemoveFromParent ();
+                    //    timers.Remove (timers.Find((obj) => obj.Guid == delObj.Guid));
+                    //}
                 };
 
                 #region goSchedule
@@ -335,12 +368,7 @@
                     alert.Show ();
                     alert.ResultEventHandler += (sender2, e2) => {
                         if (e2) {
-                            var delObj = new Timer () { Guid = (sender as Button).GetTagByKey ("guid").ToString () };
-                            var delRequestJson = Newtonsoft.Json.JsonConvert.SerializeObject (delObj);
-                            var delRevertObj = MainPage.RequestHttps ("DeleteTimer", delRequestJson);
-                            if (delRevertObj.StateCode == "SUCCESS") {
-                                rowView.RemoveFromParent ();
-                            }
+                            DeleteTimerAction ((sender as Button).GetTagByKey ("guid").ToString (), rowView);
                         }
                     };
                 };
@@ -352,12 +380,7 @@
                     alert.Show ();
                     alert.ResultEventHandler += (sender2, e2) => {
                         if (e2) {
-                            var delObj = new Timer () { Guid = (sender as Button).GetTagByKey ("guid").ToString () };
-                            var delRequestJson = Newtonsoft.Json.JsonConvert.SerializeObject (delObj);
-                            var delRevertObj = MainPage.RequestHttps ("DeleteTimer", delRequestJson);
-                            if (delRevertObj.StateCode == "SUCCESS") {
-                                rowView.RemoveFromParent ();
-                            }
+                            DeleteTimerAction ((sender as Button).GetTagByKey ("guid").ToString (), rowView);
                         }
                     };
                 };
@@ -369,12 +392,7 @@
                     alert.Show ();
                     alert.ResultEventHandler += (sender2, e2) => {
                         if (e2) {
-                            var delObj = new Timer () { Guid = (sender as Button).GetTagByKey ("guid").ToString () };
-                            var delRequestJson = Newtonsoft.Json.JsonConvert.SerializeObject (delObj);
-                            var delRevertObj = MainPage.RequestHttps ("DeleteTimer", delRequestJson);
-                            if (delRevertObj.StateCode == "SUCCESS") {
-                                rowView.RemoveFromParent ();
-                            }
+                            DeleteTimerAction ((sender as Button).GetTagByKey ("guid").ToString (), rowView);
                         }
                     };
                 };
@@ -383,5 +401,29 @@
             });
 
         }
+
+        /// <summary>
+        /// 鍒犻櫎瀹氭椂鍣�
+        /// </summary>
+        /// <param name="GUID"></param>
+        /// <param name="rowView"></param>
+        /// <param name="bTimersRemove"></param>
+        void DeleteTimerAction (string GUID, View rowView, bool bTimersRemove = false)
+        {
+            var delObj = new Timer () { Guid = GUID };
+            var delRequestJson = Newtonsoft.Json.JsonConvert.SerializeObject (delObj);
+            var delRevertObj = MainPage.RequestHttps (API.DeleteTimer, delRequestJson, true);
+            if (delRevertObj.StateCode.ToUpper () == "SUCCESS") {
+                rowView.RemoveFromParent ();
+                if (bTimersRemove) {
+                    timers.Remove (timers.Find ((obj) => obj.Guid == delObj.Guid));
+                }
+            } else {
+                //鍒犻櫎澶辫触
+                Application.RunOnMainThread (() => {
+                    new Alert ("", ErrorCode.FailedDelete, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                });
+            }
+        }
     }
 }

--
Gitblit v1.8.0