From b2ad000e07e1c87d3561b5aa94fdc88c779872f0 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期二, 18 二月 2025 22:34:54 +0800 Subject: [PATCH] 1 --- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Core/DB/RepositorySetting.cs | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 53 insertions(+), 0 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/DB/RepositorySetting.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/DB/RepositorySetting.cs" new file mode 100644 index 0000000..67c4968 --- /dev/null +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/DB/RepositorySetting.cs" @@ -0,0 +1,53 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.DB.Models; +using WIDESEA_Core.Tenants; + +namespace WIDESEA_Core.DB +{ + public class RepositorySetting + { + private static readonly Lazy<IEnumerable<Type>> AllEntitys = new(() => + { + var path = AppDomain.CurrentDomain.RelativeSearchPath ?? AppDomain.CurrentDomain.BaseDirectory; + var referencedAssemblies = System.IO.Directory.GetFiles(path, MainDb.AssemblyName).Select(Assembly.LoadFrom).FirstOrDefault(); + return referencedAssemblies + .GetTypes() + .Where(t => t.IsClass && !t.IsAbstract && t.IsSubclassOf(typeof(BaseEntity))) + .Where(it => it.FullName != null && it.FullName.StartsWith(MainDb.EntityNameSpace)); + }); + + public static IEnumerable<Type> Entitys => AllEntitys.Value; + + /// <summary> + /// 閰嶇疆瀹炰綋杞垹闄よ繃婊ゅ櫒<br/> + /// 缁熶竴杩囨护 杞垹闄� 鏃犻渶鑷繁鍐欐潯浠� + /// </summary> + public static void SetDeletedEntityFilter(SqlSugarScopeProvider db) + { + //db.QueryFilter.AddTableFilter<IDeleteFilter>(it => it.IsDeleted == false); + } + + /// <summary> + /// 閰嶇疆绉熸埛 + /// </summary> + public static void SetTenantEntityFilter(SqlSugarScopeProvider db) + { + if (App.User is not { UserId: > 0, TenantId: > 0 }) + { + return; + } + + //澶氱鎴� 鍗曡〃 + //db.QueryFilter.AddTableFilter<ITenantEntity>(it => it.TenantId == App.User.TenantId || it.TenantId == 0); + + //澶氱鎴� 澶氳〃 + //db.SetTenantTable(App.User.TenantId.ToString()); + } + } +} -- Gitblit v1.9.3