| | |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_Core.Const; |
| | | using WIDESEA_Core.DB.Models; |
| | | using WIDESEA_Core.Helper; |
| | | |
| | | namespace WIDESEA_Core.Utilities |
| | |
| | | return SqlDbTypeName.NVarChar; |
| | | } |
| | | |
| | | public static string ValidateDicInEntity(this Type typeinfo, List<Dictionary<string, object>> dicList, bool removerKey, string[] ignoreFields = null) |
| | | { |
| | | PropertyInfo[] propertyInfo = typeinfo.GetProperties(); |
| | | string reslutMsg = string.Empty; |
| | | foreach (Dictionary<string, object> dic in dicList) |
| | | { |
| | | reslutMsg = typeinfo.ValidateDicInEntity(dic, removerKey, propertyInfo, ignoreFields); |
| | | if (!string.IsNullOrEmpty(reslutMsg)) |
| | | return reslutMsg; |
| | | } |
| | | return reslutMsg; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 夿hashç忝å¦ä¸ºå¯¹åºçå®ä½ï¼å¹¶ä¸å¼æ¯å¦ææ |
| | | /// </summary> |
| | |
| | | { |
| | | if (!sugarColumn.IsNullable) |
| | | { |
| | | if (sugarColumn.DefaultValue == null) |
| | | if (sugarColumn.DefaultValue != null) |
| | | return sugarColumn.ColumnDescription + "为å¿
é¡»æäº¤é¡¹"; |
| | | continue; |
| | | } |
| | |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public static Type GetDetailType(this Type typeinfo) |
| | | { |
| | | PropertyInfo[] properties = typeinfo.GetProperties(); |
| | | foreach (PropertyInfo property in properties) |
| | | { |
| | | Navigate? navigate = property.GetCustomAttribute<Navigate>(); |
| | | if (navigate is not null) |
| | | { |
| | | if (navigate.GetNavigateType() == NavigateType.OneToOne) |
| | | return property.PropertyType; |
| | | else |
| | | return property.PropertyType.GenericTypeArguments[0]; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public static string GetMainIdByDetail(this Type typeinfo) |
| | | { |
| | | PropertyInfo[] properties = typeinfo.GetProperties(); |
| | | foreach (PropertyInfo property in properties) |
| | | { |
| | | Navigate? navigate = property.GetCustomAttribute<Navigate>(); |
| | | if (navigate is not null) |
| | | { |
| | | return navigate.GetName(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public static void SetDetailId<T>(this Type typeinfo, T enetiy, object id, string name) |
| | | { |
| | | PropertyInfo property = typeinfo.GetProperty(name); |
| | | if (property != null) |
| | | { |
| | | property.SetValue(enetiy, id); |
| | | } |
| | | } |
| | | |
| | | public static PropertyInfo? GetNavigatePro(this Type typeinfo) |
| | | { |
| | | PropertyInfo[] properties = typeinfo.GetProperties(); |
| | | foreach (PropertyInfo property in properties) |
| | | { |
| | | Navigate? navigate = property.GetCustomAttribute<Navigate>(); |
| | | if (navigate is not null) |
| | | { |
| | | return property; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public static object GetPropertyValue<T>(this Type typeinfo, T data, string propertyName) |
| | | { |
| | | if (typeinfo != typeof(T)) |
| | | return null; |
| | | |
| | | PropertyInfo? property = typeinfo.GetProperty(propertyName); |
| | | if (property != null) |
| | | { |
| | | return property.GetValue(data); |
| | | } |
| | | return null; |
| | | } |
| | | } |
| | | } |