You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.6 KiB

  1. using MonumentDefine;
  2. namespace CounsellorBL.Common
  3. {
  4. public static class EntityBaseExtension
  5. {
  6. static readonly string[] saNo = System.Array.Empty<string>();
  7. static readonly string[] saNoCreate = { BLWording.CREATE_DATE, BLWording.CREATE_ORG_UID, BLWording.CREATE_USER_UID, BLWording.SYSTEM_FLAG };
  8. static readonly string[] saNoSystemColumn = {
  9. BLWording.CREATE_DATE, BLWording.CREATE_ORG_UID, BLWording.CREATE_USER_UID,
  10. BLWording.UPDATE_DATE, BLWording.UPDATE_ORG_UID, BLWording.UPDATE_USER_UID,
  11. BLWording.STATUS_FLAG,
  12. BLWording.SYSTEM_FLAG};
  13. static readonly string[] saNoSystemColumnNoUid = {
  14. BLWording.CREATE_DATE, BLWording.CREATE_ORG_UID, BLWording.CREATE_USER_UID,
  15. BLWording.UPDATE_DATE, BLWording.UPDATE_ORG_UID, BLWording.UPDATE_USER_UID,
  16. BLWording.STATUS_FLAG,
  17. BLWording.SYSTEM_FLAG, BLWording.UID};
  18. public enum EColumnFilter
  19. {
  20. ES_NO = 0,
  21. ES_NO_CREATE = 1,
  22. ES_NO_SYSTEMCOLUMN = 2,
  23. ES_NO_SYSTEMCOLUMN_NO_UID = 3,
  24. }
  25. public static void SetFullDirtyEx(this OT.COM.ArsenalDB.EntityBase i_eb, EColumnFilter i_ecf)
  26. {
  27. string[] saFilter = i_ecf switch
  28. {
  29. EColumnFilter.ES_NO_CREATE => saNoCreate,
  30. EColumnFilter.ES_NO_SYSTEMCOLUMN => saNoSystemColumn,
  31. EColumnFilter.ES_NO_SYSTEMCOLUMN_NO_UID => saNoSystemColumnNoUid,
  32. _ => saNo,
  33. };
  34. i_eb?.SetFullDirty(saFilter);
  35. }
  36. }
  37. }