林豪 左 3 lat temu
rodzic
commit
c570bcb239

+ 5 - 7
WCS.Core/DataTrans/DataBlock.cs

@@ -54,14 +54,12 @@ namespace WCS.Core
 
                 //var changed = DataServer.Refresh(Entity);
                 failed = false;
-                if (Data == null || !data.SequenceEqual(Data))
+                if (Data != null && data.SequenceEqual(Data)) return;
+                Data = data;
+                DB.Do(db =>
                 {
-                    Data = data;
-                    DB.Do(db =>
-                    {
-                        DataChanged?.Invoke(db, Data);
-                    });
-                }
+                    DataChanged?.Invoke(db, Data);
+                });
             }
             catch (Exception ex)
             {

+ 5 - 10
WCS.Core/DataTrans/DataField.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections;
+using System.Linq;
 using System.Runtime.InteropServices;
 using System.Threading;
 
@@ -97,17 +98,11 @@ namespace WCS.Core
                 {
                     return true;
                 }
-                for (int i = 0; i < arr1.Length; i++)
-                {
-                    if (!arr1.GetValue(i).Equals(arr2.GetValue(2)))
-                        return false;
-                }
-                return true;
-            }
-            else
-            {
-                return obj1.Equals(obj2);
+
+                return !arr1!.Cast<object>().Where((t, i) => !arr1.GetValue(i)!.Equals(arr2.GetValue(2))).Any();
             }
+
+            return obj1.Equals(obj2);
         }
     }
 

+ 1 - 0
WCS.Core/Device.cs

@@ -152,6 +152,7 @@ public static class Device
     #endregion 静态方法
 }
 
+//TODO:需要把该配置转移到业务部分,便于在基础框架被封装后,现场实施进行改动
 /// <summary>
 /// 设备配置
 /// </summary>

+ 4 - 4
WCS.Core/EntityEx.cs

@@ -39,7 +39,7 @@ namespace WCS.Core
 
         public Device(WCS_DEVICE entity) : base(entity)
         {
-            Data = entity.PROTOCOLS.Where(v => v.DB.PROTOCOL == typeof(T).AssemblyQualifiedName).Single().Data<T>();
+            Data = entity.PROTOCOLS.Single(v => v.DB.PROTOCOL == typeof(T).AssemblyQualifiedName).Data<T>();
         }
     }
 
@@ -49,7 +49,7 @@ namespace WCS.Core
 
         public Device(WCS_DEVICE entity) : base(entity)
         {
-            Data2 = entity.PROTOCOLS.Where(v => v.DB.PROTOCOL == typeof(T2).AssemblyQualifiedName).Single().Data<T2>();
+            Data2 = entity.PROTOCOLS.Single(v => v.DB.PROTOCOL == typeof(T2).AssemblyQualifiedName).Data<T2>();
         }
     }
 
@@ -59,7 +59,7 @@ namespace WCS.Core
 
         public Device(WCS_DEVICE entity) : base(entity)
         {
-            Data3 = entity.PROTOCOLS.Where(v => v.DB.PROTOCOL == typeof(T3).AssemblyQualifiedName).Single().Data<T3>();
+            Data3 = entity.PROTOCOLS.Single(v => v.DB.PROTOCOL == typeof(T3).AssemblyQualifiedName).Data<T3>();
         }
     }
 
@@ -69,7 +69,7 @@ namespace WCS.Core
 
         public Device(WCS_DEVICE entity) : base(entity)
         {
-            Data4 = entity.PROTOCOLS.Where(v => v.DB.PROTOCOL == typeof(T4).AssemblyQualifiedName).Single().Data<T4>();
+            Data4 = entity.PROTOCOLS.Single(v => v.DB.PROTOCOL == typeof(T4).AssemblyQualifiedName).Data<T4>();
         }
     }