using System;
|
using Shared;
|
using HDL_ON.Entity;
|
using System.Collections.Generic;
|
|
namespace HDL_ON.UI
|
{
|
public class UpdataSidDataDialog
|
{
|
public void ShowDialog(List<Function> sidObjects,string oidJsonString)
|
{
|
Dialog dialog = new Dialog();
|
FrameLayout bodyView = new FrameLayout();
|
|
dialog.AddChidren(bodyView);
|
|
Action action = () => {
|
UpdataFunctionList(sidObjects, oidJsonString);
|
};
|
|
new PublicAssmebly().TipMsg(StringId.Tip, StringId.UpdataTcpResidenceDataTip, action);
|
|
}
|
/// <summary>
|
/// 更新功能列表
|
/// </summary>
|
/// <param name="sidObjects"></param>
|
/// <param name="functionOids"></param>
|
public void UpdataFunctionList(List<Function> sidObjects, string oidJsonString)//, List<FunctionOid> functionOids)
|
{
|
var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<Newtonsoft.Json.Linq.JObject>(oidJsonString);
|
var functionOids = Newtonsoft.Json.JsonConvert.DeserializeObject<List<DeviceModule>>(obj.GetValue("objects").ToString());
|
|
DB_ResidenceData.SaveOidList(oidJsonString);
|
DB_ResidenceData.functionList.ClearAllDeviceFunctionList();
|
DB_ResidenceData.DelAllFunctionData();
|
foreach (var sidObj in sidObjects)
|
{
|
var oid = functionOids.Find((o) => o.oid == sidObj.sid.Substring(0, 16));
|
if(oid!=null)
|
{
|
var oidNetId = Convert.ToByte(oid.addresses.Substring(0, 2),16);
|
var oidDevId = Convert.ToByte(oid.addresses.Substring(2, 2),16);
|
sidObj.bus_Data = new BusData();
|
sidObj.bus_Data.loopId = Convert.ToByte(sidObj.sid.Substring(20, 4),16);
|
}
|
DB_ResidenceData.functionList.AddDeviceFunction(sidObj);
|
}
|
MainPage.GoUserPage();
|
}
|
|
}
|
}
|