From 5a5a2b696866f947b6025d26c3302e8ffef46435 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期一, 11 一月 2021 16:11:20 +0800 Subject: [PATCH] 2021-01-11 1.更新MQTT连接和本地搜索网关方法。2.子账号相关接口完善 --- Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/UserSchedule.cs | 145 ++++++++++++++++++++++++++++++++++-------------- 1 files changed, 103 insertions(+), 42 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/UserSchedule.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/UserSchedule.cs index b61d2bb..535402e 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/UserSchedule.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/UserSchedule.cs @@ -75,7 +75,7 @@ UserMiddle.SettingPageView.PageIndex = 2; }); }catch(Exception ex){ - Console.WriteLine (ex.Message); + Utlis.WriteLine (ex.Message); } finally{ Application.RunOnMainThread (() => { @@ -100,17 +100,20 @@ 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); + if (revertObj.StateCode.ToUpper() == StateCode.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); + Utlis.WriteLine (ex.Message); } finally { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); @@ -119,13 +122,42 @@ }); } + /// <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) { for (int i = 0;i< bodyView.ChildrenCount;i++){ var view = bodyView.GetChildren (i); if(view.GetType() == typeof(RowLayout)){ var rowView = view as RowLayout; - if (rowView.GetTagByKey("guid").ToString () == schedule.Guid) { + if (rowView.GetTagByKey("guid").ToString () == schedule.Id) { for (int j = 0; j < rowView.ChildrenCount; j++) { var viewChilren = rowView.GetChildren (j); if (viewChilren.GetType () == typeof (Button)) { @@ -182,7 +214,7 @@ Height = Application.GetRealHeight (180), }; bodyView.AddChidren (rowView); - rowView.AddTag ("guid", schedule.Guid); + rowView.AddTag ("guid", schedule.Id); var btnScheduleName = new Button () { X = Application.GetRealWidth (30), @@ -195,7 +227,7 @@ Tag = "btnScheduleName", }; rowView.AddChidren (btnScheduleName); - btnScheduleName.AddTag ("guid", schedule.Guid); + btnScheduleName.AddTag ("guid", schedule.Id); var btnScheduleRoomName = new Button () { X = btnScheduleName.Right, @@ -207,7 +239,7 @@ Tag = "btnScheduleRoomName", }; rowView.AddChidren (btnScheduleRoomName); - btnScheduleRoomName.AddTag ("guid", schedule.Guid); + btnScheduleRoomName.AddTag ("guid", schedule.Id); var btnScheduleTime = new Button () { X = Application.GetRealWidth (30), @@ -221,7 +253,7 @@ Tag = "btnScheduleTime", }; rowView.AddChidren (btnScheduleTime); - btnScheduleTime.AddTag ("guid", schedule.Guid); + btnScheduleTime.AddTag ("guid", schedule.Id); var btnScheduleDay = new Button () { X = Application.GetRealWidth (33), @@ -234,7 +266,7 @@ Tag = "btnScheduleDay", }; rowView.AddChidren (btnScheduleDay); - btnScheduleDay.AddTag ("guid", schedule.Guid); + btnScheduleDay.AddTag ("guid", schedule.Id); if (schedule.Periodicity.Contains ("0")) { btnScheduleDay.Text += "Sun "; @@ -266,7 +298,7 @@ UnSelectedImagePath = "Item/SwitchClose.png", SelectedImagePath = "Item/SwitchOpen.png", IsSelected = schedule.IsStart, - Tag = schedule.Guid + Tag = schedule.Id }; rowView.AddChidren (tempSiwtch); @@ -275,16 +307,16 @@ MainPage.Loading.Start ("Loading"); System.Threading.Tasks.Task.Run (() => { try { - var switchObj = new Timer () { Guid = (sdd as Button).Tag.ToString () }; + var switchObj = new Timer () { Id = (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); + if (switchRevertObj.StateCode.ToUpper() != StateCode.SUCCESS) { Application.RunOnMainThread (() => { tempSiwtch.IsSelected = !tempSiwtch.IsSelected; }); } } catch (Exception ex) { - Console.WriteLine (ex.Message); + Utlis.WriteLine (ex.Message); } finally { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); @@ -296,17 +328,21 @@ Button btnDel = new Button () { TextID = R.MyInternationalizationString.Del, BackgroundColor = SkinStyle.Current.DelColor, - Tag = schedule.Guid + Tag = schedule.Id }; 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)); - } + if ((sender as Button).Tag == null) return; + //string uuid = (sender as Button).Tag.ToString (); + + 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() == StateCode.SUCCESS) { + // rowView.RemoveFromParent (); + // timers.Remove (timers.Find((obj) => obj.Guid == delObj.Guid)); + //} }; #region goSchedule @@ -335,12 +371,8 @@ 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 (); - } + if ((sender as Button).GetTagByKey ("guid") == null) return; + DeleteTimerAction ((sender as Button).GetTagByKey ("guid").ToString (), rowView); } }; }; @@ -352,12 +384,8 @@ 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 (); - } + if ((sender as Button).GetTagByKey ("guid") == null) return; + DeleteTimerAction ((sender as Button).GetTagByKey ("guid").ToString (), rowView); } }; }; @@ -369,12 +397,8 @@ 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 (); - } + if ((sender as Button).GetTagByKey ("guid") == null) return; + DeleteTimerAction ((sender as Button).GetTagByKey ("guid").ToString (), rowView); } }; }; @@ -383,5 +407,42 @@ }); } + + /// <summary> + /// 鍒犻櫎瀹氭椂鍣� + /// </summary> + /// <param name="GUID"></param> + /// <param name="rowView"></param> + /// <param name="bTimersRemove"></param> + void DeleteTimerAction (string GUID, View rowView, bool bTimersRemove = false) + { + //2020-01-11 + Application.RunOnMainThread (() => { + MainPage.Loading.Start ("Please wait..."); + }); + + var delObj = new Timer () { Id = GUID }; + var delRequestJson = Newtonsoft.Json.JsonConvert.SerializeObject (delObj); + var delRevertObj = MainPage.RequestHttps (API.DeleteTimer, delRequestJson); + + + if (delRevertObj.StateCode.ToUpper () == StateCode.SUCCESS) { + rowView.RemoveFromParent (); + if (bTimersRemove) { + timers.Remove (timers.Find ((obj) => obj.Id == delObj.Id)); + } + } else { + //鍒犻櫎澶辫触 + Application.RunOnMainThread (() => { + new Alert ("", ErrorCode.FailedDelete, Language.StringByID (R.MyInternationalizationString.Close)).Show (); + }); + } + + Application.RunOnMainThread (() => { + MainPage.Loading.Hide (); + }); + + + } } } -- Gitblit v1.8.0