using System; using HDL_ON.DAL.Server; using Shared; namespace HDL_ON.UI.UI2.PersonalCenter.PirDevice { public class Method { /// /// 添加遥控器的方法 /// public void AddControl() { View.TipView tipView = new View.TipView(); tipView.InputBox("", (s, dialog) => { ///清除之前列表数据 Pir.BuottonList.Clear(); if (!string.IsNullOrEmpty(s)) { Control control = new Control(); control.name = s; control.type = "learn"; ThreadAddControl(control,dialog); } },false); } /// /// 发送遥控器命令方法 /// /// /// public void ThreadAddControl(Control control, Dialog dialog) { DAL.Server.ResponsePackNew responsePackNew = null; Loading loading = new Loading(); dialog.AddChidren(loading); loading.Start(); new System.Threading.Thread(() => { try { responsePackNew = PirSend.Add(control); } catch { } finally { Application.RunOnMainThread(() => { loading.Hide(); //if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") //{ ///这里:监听MTTP推送下来主题,才知道是否添加成功 dialog.Close();//添加成功关闭弹窗 AddButton addButton = new AddButton(); MainPage.BasePageView.AddChidren(addButton); addButton.Show(control); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; //监听Mqtt推送下来状态码做提示 //View.FailView failView = new View.FailView(); //failView.ShouError((view) => { // view.Close(); // ThreadAddControl(control, dialog); //}); //} //else //{ // ErrorShow(responsePackNew); //} }); } }) { IsBackground = true }.Start(); } /// /// 错误码提示 /// /// public void ErrorShow(ResponsePackNew responsePackNew) { if (responsePackNew != null && responsePackNew.Code == "14005") { new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.gatewayNotOnline)); } else { new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); } } } }