From 9be8d6e3232971246ec6cb2acac1ad4d05798e9b Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期六, 11 一月 2025 10:54:37 +0800 Subject: [PATCH] 1 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs | 79 +++++++++++++++++++++------------------ 1 files changed, 43 insertions(+), 36 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs" index ed69c09..41c5bd7 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs" @@ -36,38 +36,38 @@ ISqlSugarClient db = _dbBase; //澶氱鎴� - var mta = typeof(TEntity).GetCustomAttribute<MultiTenantAttribute>(); - if (mta is { TenantType: TenantTypeEnum.Db }) - { - //鑾峰彇绉熸埛淇℃伅 绉熸埛淇℃伅鍙互鎻愬墠缂撳瓨涓嬫潵 - if (App.User is { TenantId: > 0 }) - { - dynamic tenant = db.Queryable(MainDb.TenantTableName, "x").Where(MainDb.TenantId, "=", App.User.TenantId).First(); - if (tenant != null) - { - var iTenant = db.AsTenant(); - if (!iTenant.IsAnyConnection(tenant.TenantId)) - { - string conStr = tenant.ConnectionString; - ConnectionConfig connectionConfig = new ConnectionConfig() - { - ConfigId = tenant.TenantId, - ConnectionString = conStr.DecryptDES(AppSecret.DB), - DbType = (SqlSugar.DbType)tenant.DbType, - IsAutoCloseConnection = true, - AopEvents = new AopEvents() - { - DataExecuting = SqlSugarAop.DataExecuting, + //var mta = typeof(TEntity).GetCustomAttribute<MultiTenantAttribute>(); + //if (mta is { TenantType: TenantTypeEnum.Db }) + //{ + // //鑾峰彇绉熸埛淇℃伅 绉熸埛淇℃伅鍙互鎻愬墠缂撳瓨涓嬫潵 + // if (App.User is { TenantId: > 0 }) + // { + // dynamic tenant = db.Queryable(MainDb.TenantTableName, "x").Where(MainDb.TenantId, "=", App.User.TenantId).First(); + // if (tenant != null) + // { + // var iTenant = db.AsTenant(); + // if (!iTenant.IsAnyConnection(tenant.TenantId)) + // { + // string conStr = tenant.ConnectionString; + // ConnectionConfig connectionConfig = new ConnectionConfig() + // { + // ConfigId = tenant.TenantId, + // ConnectionString = conStr.DecryptDES(AppSecret.DB), + // DbType = (SqlSugar.DbType)tenant.DbType, + // IsAutoCloseConnection = true, + // AopEvents = new AopEvents() + // { + // DataExecuting = SqlSugarAop.DataExecuting, - } - }; - iTenant.AddConnection(connectionConfig); - } + // } + // }; + // iTenant.AddConnection(connectionConfig); + // } - return iTenant.GetConnection(tenant.TenantId); - } - } - } + // return iTenant.GetConnection(tenant.TenantId); + // } + // } + //} return db; } @@ -122,6 +122,11 @@ { IInsertable<TEntity> insert = _db.Insertable(entity); return insert.ExecuteReturnIdentity(); + } + + public virtual bool AddData<TChild>(TEntity entity, Expression<Func<TEntity, List<TChild>>> expression) where TChild : class, new() + { + return _db.InsertNav(entity).Include(expression).ExecuteCommand(); } /// <summary> @@ -873,8 +878,8 @@ { object? obj = Activator.CreateInstance(htyType); PropertyInfo keyPro = typeof(TEntity).GetKeyProperty(); - PropertyInfo? operateTypePro = htyType.GetProperty(nameof(OperateTypeEnum)); - PropertyInfo? sourceIdPro = htyType.GetProperty("SourceId"); + PropertyInfo? operateTypePro = htyType.GetProperty(nameof(IBaseHistoryEntity.OperateType)); + PropertyInfo? sourceIdPro = htyType.GetProperty(nameof(IBaseHistoryEntity.SourceId)); if (obj != null && keyPro != null && operateTypePro != null && sourceIdPro != null) { operateTypePro.SetValue(obj, operateType.ToString()); @@ -903,7 +908,8 @@ } } } - _db.InsertableByObject(obj).AS(type.Name + "_Hty").ExecuteCommand(); + if (obj != null) + _db.InsertableByObject(obj).AS(type.Name + "_Hty").ExecuteCommand(); } } return DeleteData(entity); @@ -918,8 +924,8 @@ { object? obj2 = Activator.CreateInstance(htyType); PropertyInfo keyPro = typeof(TEntity).GetKeyProperty(); - PropertyInfo? operateTypePro = htyType.GetProperty(nameof(OperateTypeEnum)); - PropertyInfo? sourceIdPro = htyType.GetProperty("SourceId"); + PropertyInfo? operateTypePro = htyType.GetProperty(nameof(IBaseHistoryEntity.OperateType)); + PropertyInfo? sourceIdPro = htyType.GetProperty(nameof(IBaseHistoryEntity.SourceId)); if (obj2 != null && keyPro != null && operateTypePro != null && sourceIdPro != null) { List<PropertyInfo> propertyInfos = htyType.GetProperties().Where(x => x.Name != operateTypePro.Name && x.Name != sourceIdPro.Name && x.Name != keyPro.Name).ToList(); @@ -955,7 +961,8 @@ list.Add(obj); } } - _db.InsertableByObject(list).AS(type.Name + "_Hty").ExecuteCommand(); + if (list.Count > 0) + _db.InsertableByObject(list).AS(type.Name + "_Hty").ExecuteCommand(); } } -- Gitblit v1.9.3