ow
This commit is contained in:
1 parent
dc1c073ac6
commit
20abc22653
38 files changed
+143
-40
No files matched your search
@@ -286,7 +286,7 @@ namespace CloudBuilder.Security.Service
|
||||
|
||||
if (maps == null || maps.Length == 0) return;
|
||||
int i = 1;
|
||||
foreach (SecurityFunctionMapViewEntity map in maps.OrderBy(x => x.Orderby).ToArray())
|
||||
foreach (SecurityFunctionMapViewEntity map in maps.ToArray())
|
||||
{
|
||||
repositoryMap.InsertNow(new SecurityFunctionMapEntity()
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using CloudBuilder.Core.DatabaseAccessor;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Security.Data;
|
||||
using CloudBuilder.Security.Entity;
|
||||
@@ -100,7 +101,7 @@ namespace CloudBuilder.Security.Service
|
||||
repositorySecurityGeneratorNumber.ChangeSecondaryDatabase();
|
||||
|
||||
|
||||
var locales= repository.DetachedEntities.ToArray();
|
||||
var locales = repository.DetachedEntities.ToArray();
|
||||
var SecurityUsers = repositorySecurityUser.DetachedEntities.ToArray();
|
||||
var SecurityUserActors = repositorySecurityUserActor.DetachedEntities.ToArray();
|
||||
var SecurityActors = repositorySecurityActor.DetachedEntities.ToArray();
|
||||
@@ -132,8 +133,14 @@ namespace CloudBuilder.Security.Service
|
||||
repositorySecurityMaster.ChangeMasterDatabase();
|
||||
repositorySecurityGeneratorNumber.ChangeMasterDatabase();
|
||||
|
||||
repository.ExecuteNonQuery("TRUNCATE TABLE " + LocaleEntity.DB_NAME_LOCALE);
|
||||
// 取得 MasterDbContext,開啟跳審計,保留原始 CreatedBy / UpdatedBy
|
||||
var secDbCtx = repository.GetDbContext() as MasterDbContext;
|
||||
if (secDbCtx != null)
|
||||
{
|
||||
secDbCtx.SkipAudit = true;
|
||||
}
|
||||
|
||||
repository.ExecuteNonQuery("TRUNCATE TABLE " + LocaleEntity.DB_NAME_LOCALE);
|
||||
repository.ExecuteNonQuery("TRUNCATE TABLE " + SecurityUserEntity.DB_NAME_SECURITY_USER);
|
||||
repository.ExecuteNonQuery("TRUNCATE TABLE " + SecurityActorEntity.DB_NAME_SECURITY_ACTOR);
|
||||
repository.ExecuteNonQuery("TRUNCATE TABLE " + SecurityUserActorEntity.DB_NAME_SECURITY_USER_ACTOR);
|
||||
@@ -148,7 +155,7 @@ namespace CloudBuilder.Security.Service
|
||||
repository.ExecuteNonQuery("TRUNCATE TABLE " + SecurityFunctionMapEntity.DB_NAME_SECURITY_FUNCTION_MAP);
|
||||
repository.ExecuteNonQuery("TRUNCATE TABLE " + SecurityMasterEntity.DB_NAME_SECURITY_MASTER);
|
||||
repository.ExecuteNonQuery("TRUNCATE TABLE " + SecurityGeneratorNumberEntity.DB_NAME_SECURITY_GENERATOR_NUMBER);
|
||||
|
||||
|
||||
repository.InsertNow(locales);
|
||||
repositorySecurityUser.InsertNow(SecurityUsers);
|
||||
repositorySecurityUserActor.InsertNow(SecurityUserActors);
|
||||
@@ -163,7 +170,26 @@ namespace CloudBuilder.Security.Service
|
||||
repositorySecurityFunction.InsertNow(SecurityFunctions);
|
||||
repositorySecurityFunctionMap.InsertNow(SecurityFunctionMaps);
|
||||
repositorySecurityMaster.InsertNow(SecurityMasters);
|
||||
|
||||
//Copy 到 MySQL 不需要
|
||||
if (secDbCtx.Database.ProviderName.Contains("SqlServer"))
|
||||
{
|
||||
repository.ExecuteNonQuery("SET IDENTITY_INSERT " + SecurityGeneratorNumberEntity.DB_NAME_SECURITY_GENERATOR_NUMBER + " ON;");
|
||||
}
|
||||
|
||||
repositorySecurityGeneratorNumber.InsertNow(SecurityGeneratorNumbers);
|
||||
|
||||
//Copy 到 MySQL 不需要
|
||||
if (secDbCtx.Database.ProviderName.Contains("SqlServer"))
|
||||
{
|
||||
repository.ExecuteNonQuery("SET IDENTITY_INSERT " + SecurityGeneratorNumberEntity.DB_NAME_SECURITY_GENERATOR_NUMBER + " OFF;");
|
||||
}
|
||||
|
||||
// ⚠️務必關閉 SkipAudit,避免後續正常業務失效
|
||||
if (secDbCtx != null)
|
||||
{
|
||||
secDbCtx.SkipAudit = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user