using System;
|
using HDL_ON.DAL.Server;
|
using Shared;
|
|
namespace HDL_ON.UI.UI2.PersonalCenter.PirDevice
|
{
|
public class Method
|
{
|
/// <summary>
|
/// 添加遥控器的方法
|
/// </summary>
|
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);
|
|
}
|
/// <summary>
|
/// 发送遥控器命令方法
|
/// </summary>
|
/// <param name="control"></param>
|
/// <param name="dialog"></param>
|
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();
|
|
}
|
/// <summary>
|
/// 错误码提示
|
/// </summary>
|
/// <param name="responsePackNew"></param>
|
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));
|
|
}
|
}
|
}
|
}
|