using System; using Shared; using HDL_ON.Entity; using System.Collections.Generic; namespace HDL_ON.UI { public class UpdataTcpResidenceDataDialog { public void ShowDialog(List 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); } /// /// 更新功能列表 /// /// /// public void UpdataFunctionList(List sidObjects, string oidJsonString)//, List functionOids) { var obj = Newtonsoft.Json.JsonConvert.DeserializeObject(oidJsonString); var functionOids = Newtonsoft.Json.JsonConvert.DeserializeObject>(obj.GetValue("objects").ToString()); DB_ResidenceData.SaveFunctionOidJsonDataList(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) { sidObj.bus_Data = new BusData(); sidObj.bus_Data.SubnetID = Convert.ToByte(oid.net_id, 16); sidObj.bus_Data.DeviceID = Convert.ToByte(oid.dev_id, 16); sidObj.bus_Data.LoopID = Convert.ToByte(sidObj.sid.Substring(20, 4),16); } DB_ResidenceData.functionList.AddDeviceFunction(sidObj); } MainPage.GoUserPage(); } } }