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