From e53a1951d6aa07ad22aad9816da4703496fcbccd Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 27 十一月 2020 14:27:16 +0800
Subject: [PATCH] 1127最新合并代码,合并嘉乐更新

---
 HDL_ON/UI/UI0-Public/UpdataTcpResidenceDataDialog.cs |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/HDL_ON/UI/UI0-Public/UpdataTcpResidenceDataDialog.cs b/HDL_ON/UI/UI0-Public/UpdataTcpResidenceDataDialog.cs
index e31c98e..fe504bc 100644
--- a/HDL_ON/UI/UI0-Public/UpdataTcpResidenceDataDialog.cs
+++ b/HDL_ON/UI/UI0-Public/UpdataTcpResidenceDataDialog.cs
@@ -7,7 +7,7 @@
 {
     public class UpdataTcpResidenceDataDialog 
     {
-        public void ShowDialog(List<Function> sidObjects,List<FunctionOid> functionOids)
+        public void ShowDialog(List<Function> sidObjects,string oidJsonString)
         {
             Dialog dialog = new Dialog();
             FrameLayout bodyView = new FrameLayout();
@@ -15,7 +15,7 @@
             dialog.AddChidren(bodyView);
 
             Action action = () => {
-                UpdataFunctionList(sidObjects,functionOids);
+                UpdataFunctionList(sidObjects, oidJsonString);
             };
 
             new PublicAssmebly().TipMsg(StringId.Tip, StringId.UpdataTcpResidenceDataTip, action);
@@ -26,19 +26,24 @@
         /// </summary>
         /// <param name="sidObjects"></param>
         /// <param name="functionOids"></param>
-        public void UpdataFunctionList(List<Function> sidObjects, List<FunctionOid> functionOids)
+        public void UpdataFunctionList(List<Function> sidObjects, string oidJsonString)//, List<FunctionOid> functionOids)
         {
-            DB_ResidenceData.SaveFunctionOidList(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((obj) => obj.oid == sidObj.sid.Substring(0, 16));
+                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.SubnetID = Convert.ToByte(oid.net_id, 16);
-                    sidObj.bus_Data.DeviceID = Convert.ToByte(oid.dev_id, 16);
+                    sidObj.bus_Data.SubnetID = oidNetId;
+                    sidObj.bus_Data.DeviceID = oidDevId;
                     sidObj.bus_Data.LoopID = Convert.ToByte(sidObj.sid.Substring(20, 4),16);
                 }
                 DB_ResidenceData.functionList.AddDeviceFunction(sidObj);

--
Gitblit v1.8.0