From cde56aae50adc11ff8db84e424d873843c566bfd Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期一, 24 二月 2025 23:40:41 +0800
Subject: [PATCH] 优化WCS移库逻辑

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/ObjectExtension.cs |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/ObjectExtension.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/ObjectExtension.cs"
new file mode 100644
index 0000000..939ca84
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/ObjectExtension.cs"
@@ -0,0 +1,51 @@
+锘縰sing SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Core.Helper
+{
+    public static class ObjectExtension
+    {
+        public static List<T> DicToIEnumerable<T>(this List<Dictionary<string, object>> dicList)
+        {
+            List<T> list = new List<T>();
+            foreach (Dictionary<string, object> dic in dicList)
+            {
+                list.Add(dic.DicToModel<T>());
+            }
+            return list;
+        }
+
+        public static T DicToModel<T>(this Dictionary<string, object> dic)
+        {
+            T model = Activator.CreateInstance<T>();
+            PropertyInfo[] propertyInfos = typeof(T).GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance);
+            foreach (var property in propertyInfos)
+            {
+
+                object value = null;
+                if (!dic.TryGetValue(property.Name, out value))
+                {
+                    if (!dic.TryGetValue(property.Name.FirstLetterToUpper(), out value))
+                    {
+                        if (!dic.TryGetValue(property.Name.FirstLetterToLower(), out value))
+                        {
+                            continue;
+                        }
+                    }
+                };
+                SugarColumn? sugarColumn = property.GetCustomAttribute<SugarColumn>();
+                if (sugarColumn != null && sugarColumn.IsIdentity && (value == null || value.Equals("")))
+                {
+                    continue;
+                }
+                property.SetValue(model, value?.ToString().ChangeType(property.PropertyType));
+            }
+            return model;
+        }
+    }
+}

--
Gitblit v1.9.3