using HDL_ON.DAL.Server;
using HDL_ON.Entity;
using HDL_ON.Stan;
using Shared;
using System;
namespace HDL_ON.UI
{
///
/// 添加环境传感器步骤1界面
///
public class AddSensorEnvironmentPage : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 添加设备完成之后的回调事件
///
public Action AddDeviceEvent = null;
IntegratedBrandDevice integratedDevice = null;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
public void ShowForm(IntegratedBrandDevice device)
{
integratedDevice = device;
if (Language.CurrentLanguage == "Chinese")
{
//设置头部信息
base.SetTitleText(Language.StringByID(StringId.Add) + device.productName);
}
else
{
base.SetTitleText(Language.StringByID(StringId.Add) + " " + device.productName);
}
//这个界面的背景需要白色
bodyFrameLayout.BackgroundColor = UI.CSS.CSS_Color.MainBackgroundColor;
//初始化中部信息
this.InitMiddleFrame();
}
///
/// 初始化中部信息
///
private void InitMiddleFrame()
{
//图片
var btnPic = new PicViewControl(132, 132);
btnPic.Y = Application.GetRealHeight(69);
btnPic.Gravity = Gravity.CenterHorizontal;
if (integratedDevice.spk == SPK.SensorEnvironment3)
{
btnPic.UnSelectedImagePath = "PersonalCenter/AddDevice/EnvirSensorQingpingLitebg.png";
}
else if (integratedDevice.spk == SPK.SensorEnvironment2)
{
btnPic.UnSelectedImagePath = "PersonalCenter/AddDevice/EnvirSensorQingpingCGS1bg.png";
}
else
{
btnPic.UnSelectedImagePath = "PersonalCenter/AddDevice/EnvironmentalSensorbg.png";
}
bodyFrameLayout.AddChidren(btnPic);
//请输入设备机上的sn码
var textView = new FrameLayout()
{
Y = Application.GetRealHeight(309 - 64),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(319),
Height = Application.GetRealHeight(44),
};
bodyFrameLayout.AddChidren(textView);
textView.AddChidren(new Button() { Y = Application.GetRealHeight(43), Height = 1, BackgroundColor = CSS.CSS_Color.DividingLineColor });
EditText editText = new EditText()
{
TextAlignment = TextAlignment.Center,
TextColor = CSS.CSS_Color.FirstLevelTitleColor,
PlaceholderText = Language.StringByID(StringId.PlsEntrySNCode),
PlaceholderTextColor = CSS.CSS_Color.PromptingColor1,
TextSize = CSS.CSS_FontSize.TextFontSize,
};
textView.AddChidren(editText);
string pairString = "";
if (integratedDevice.spk == SPK.SensorEnvironment2)
{
//请输入设备机上的配对码
var pairView = new FrameLayout()
{
Y = Application.GetRealHeight(309),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(319),
Height = Application.GetRealHeight(44),
};
bodyFrameLayout.AddChidren(pairView);
pairView.AddChidren(new Button() { Y = Application.GetRealHeight(43), Height = 1, BackgroundColor = CSS.CSS_Color.DividingLineColor });
EditText pairText = new EditText()
{
TextAlignment = TextAlignment.Center,
TextColor = CSS.CSS_Color.FirstLevelTitleColor,
PlaceholderText = Language.StringByID(StringId.PlsEntryPairCode),
PlaceholderTextColor = CSS.CSS_Color.PromptingColor1,
TextSize = CSS.CSS_FontSize.TextFontSize,
};
pairView.AddChidren(pairText);
pairText.TextChangeEventHandler = (sender, e) => {
pairString = e;
};
}
if (integratedDevice.spk == SPK.SensorEnvironment2 || integratedDevice.spk == SPK.SensorEnvironment3)
{
editText.PlaceholderText = Language.StringByID(StringId.PlsEntryMacCode);
}
if (integratedDevice.spk == SPK.SensorEnvironment)
{
Button btnScan = new Button()
{
Width = Application.GetRealWidth(32),
Height = Application.GetRealWidth(32),
Gravity = Gravity.CenterVertical,
X = Application.GetRealWidth(275),
UnSelectedImagePath = "Public/Scan.png"
};
textView.AddChidren(btnScan);
btnScan.MouseUpEventHandler = (sender, e) =>
{
Scan.OpenScan((scanString) =>
{
editText.Text = scanString;
});
};
}
//下一步
var btnNext = this.AddBottomClickButton(Language.StringByID(StringId.Next));
btnNext.ButtonClickEvent += (sender, e) =>
{
var snCode = editText.Text.Trim();
if (string.IsNullOrEmpty(snCode))
{
editText.PlaceholderTextColor = CSS.CSS_Color.WarningColor;
}
else
{
var waitPage = new Loading();
waitPage.Start();
new System.Threading.Thread(() => {
try
{
var pm = new HttpServerRequest();
var pack = pm.IndependentRegister3TyDevcie(integratedDevice.spk, snCode,integratedDevice.productName,pairString);// Language.StringByID(StringId.SensorEnvironment)
if (pack.Code == StateCode.SUCCESS)
{
//var revData = Newtonsoft.Json.JsonConvert.DeserializeObject>(pack.Data.ToString());
Application.RunOnMainThread(() =>
{
waitPage.Hide();
var tipDialog = new OperationResultDisPalyPage();
tipDialog.LoadPage(true, Language.StringByID(StringId.AddSuccess), "", Language.StringByID(StringId.CanStartUsingEnvironmentalSensor), Language.StringByID(StringId.Next));
tipDialog.Show();
AddDeviceEvent?.Invoke(new Function());
this.CloseForm();
});
}
else if (pack.Code == "10801" || pack.Code == "9")
{
var mes = "";
if (Language.CurrentLanguage == "Chinese")
{
mes = "该设备已经被添加。";
}
else
{
mes = "This device has been added.";
}
Application.RunOnMainThread(() =>
{
var tip = new Tip()
{
Text = mes,
CloseTime = 2,
Direction = AMPopTipDirection.None
};
tip.Show(MainPage.BaseView);
});
}
else
{
IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
}
}
catch (Exception ex)
{
MainPage.Log("2--::" + ex.Message);
}
finally
{
Application.RunOnMainThread(() =>
{
if (waitPage != null)
{
waitPage.RemoveFromParent();
waitPage = null;
}
});
}
})
{ IsBackground = true }.Start();
}
};
}
#endregion
#region ■ 关闭界面___________________________
///
/// 关闭界面
///
public override void CloseFormBefore()
{
this.AddDeviceEvent = null;
base.CloseFormBefore();
}
#endregion
}
}