EntityExtension.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System.Reflection;
  2. using Extensions;
  3. namespace Infrastructure
  4. {
  5. public static class EntityExtension
  6. {
  7. public static TSource ToCreate<TSource>(this TSource source, HttpContext? context = null)
  8. {
  9. var types = source?.GetType();
  10. if (types == null || context == null) return source;
  11. BindingFlags flag = BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance;
  12. // types.GetProperty("CreateTime", flag)?.SetValue(source, DateTime.Now, null);
  13. // types.GetProperty("AddTime", flag)?.SetValue(source, DateTime.Now, null);
  14. types.GetProperty("createBy", flag)?.SetValue(source, context.GetName(), null);
  15. // types.GetProperty("Create_by", flag)?.SetValue(source, context.GetName(), null);
  16. // types.GetProperty("UserId", flag)?.SetValue(source, context.GetUId(), null);
  17. // types.GetProperty("DeptId", flag)?.SetValue(source, context.GetDeptId(), null);
  18. types.GetProperty("createTime", flag)?.SetValue(source, DateTime.Now, null);
  19. return source;
  20. }
  21. public static TSource ToUpdate<TSource>(this TSource source, HttpContext? context = null)
  22. {
  23. var types = source?.GetType();
  24. if (types == null || context == null) return source;
  25. BindingFlags flag = BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance;
  26. // types.GetProperty("UpdateTime", flag)?.SetValue(source, DateTime.Now, null);
  27. // types.GetProperty("Update_time", flag)?.SetValue(source, DateTime.Now, null);
  28. types.GetProperty("updateBy", flag)?.SetValue(source, context.GetName(), null);
  29. // types.GetProperty("Update_by", flag)?.SetValue(source, context.GetName(), null);
  30. types.GetProperty("updateTime", flag)?.SetValue(source, DateTime.Now, null);
  31. return source;
  32. }
  33. }
  34. }