将NlogHelper,和NotificationHelper,改为服务的方式注入使用
This commit is contained in:
@@ -12,32 +12,44 @@ namespace DMS.Infrastructure.Repositories;
|
||||
/// </summary>
|
||||
public class RepositoryManager : IRepositoryManager
|
||||
{
|
||||
private readonly SqlSugarClient _db;
|
||||
private readonly IMapper _mapper;
|
||||
private readonly SqlSugarDbContext _dbContext;
|
||||
private readonly SqlSugarClient _db;
|
||||
|
||||
/// <summary>
|
||||
/// 构造函数,注入 AutoMapper 和 SqlSugarDbContext。
|
||||
/// 在此初始化所有具体的仓储实例。
|
||||
/// 构造函数,注入所有仓储实例。
|
||||
/// </summary>
|
||||
/// <param name="mapper">AutoMapper 实例,用于实体模型和数据库模型之间的映射。</param>
|
||||
/// <param name="dbContext">SqlSugar 数据库上下文,用于数据库操作。</param>
|
||||
public RepositoryManager(IMapper mapper, SqlSugarDbContext dbContext)
|
||||
/// <param name="initializeRepository">初始化仓储实例。</param>
|
||||
/// <param name="devices">设备仓储实例。</param>
|
||||
/// <param name="variableTables">变量表仓储实例。</param>
|
||||
/// <param name="variables">变量仓储实例。</param>
|
||||
/// <param name="mqttServers">MQTT服务器仓储实例。</param>
|
||||
/// <param name="variableMqttAliases">变量MQTT别名仓储实例。</param>
|
||||
/// <param name="menus">菜单仓储实例。</param>
|
||||
/// <param name="variableHistories">变量历史仓储实例。</param>
|
||||
/// <param name="users">用户仓储实例。</param>
|
||||
public RepositoryManager( SqlSugarDbContext dbContext,
|
||||
IInitializeRepository initializeRepository,
|
||||
IDeviceRepository devices,
|
||||
IVariableTableRepository variableTables,
|
||||
IVariableRepository variables,
|
||||
IMqttServerRepository mqttServers,
|
||||
IVariableMqttAliasRepository variableMqttAliases,
|
||||
IMenuRepository menus,
|
||||
IVariableHistoryRepository variableHistories,
|
||||
IUserRepository users)
|
||||
{
|
||||
_mapper = mapper;
|
||||
_dbContext = dbContext;
|
||||
_db = dbContext.GetInstance();
|
||||
|
||||
// 初始化各个仓储实例
|
||||
InitializeRepository=new InitializeRepository(dbContext);
|
||||
Devices = new DeviceRepository(mapper, dbContext);
|
||||
VariableTables = new VariableTableRepository(mapper, dbContext);
|
||||
Variables = new VariableRepository(mapper, dbContext);
|
||||
MqttServers = new MqttServerRepository(mapper, dbContext);
|
||||
VariableMqttAliases = new VariableMqttAliasRepository(mapper, dbContext);
|
||||
Menus = new MenuRepository(mapper, dbContext);
|
||||
VariableHistories = new VariableHistoryRepository(mapper, dbContext);
|
||||
Users = new UserRepository(mapper, dbContext);
|
||||
InitializeRepository = initializeRepository;
|
||||
Devices = devices;
|
||||
VariableTables = variableTables;
|
||||
Variables = variables;
|
||||
MqttServers = mqttServers;
|
||||
VariableMqttAliases = variableMqttAliases;
|
||||
Menus = menus;
|
||||
VariableHistories = variableHistories;
|
||||
Users = users;
|
||||
|
||||
_db = dbContext.GetInstance();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -45,7 +57,7 @@ public class RepositoryManager : IRepositoryManager
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
_db.Close();
|
||||
_db?.Close();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -89,17 +101,29 @@ public class RepositoryManager : IRepositoryManager
|
||||
/// 异步开始数据库事务。
|
||||
/// </summary>
|
||||
/// <returns>表示异步操作的任务。</returns>
|
||||
public async Task BeginTranAsync() => await _db.BeginTranAsync();
|
||||
public async Task BeginTranAsync()
|
||||
{
|
||||
if (_db != null)
|
||||
await _db.BeginTranAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步提交数据库事务。
|
||||
/// </summary>
|
||||
/// <returns>表示异步操作的任务。</returns>
|
||||
public async Task CommitAsync() => await _db.CommitTranAsync();
|
||||
public async Task CommitAsync()
|
||||
{
|
||||
if (_db != null)
|
||||
await _db.CommitTranAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步回滚数据库事务。
|
||||
/// </summary>
|
||||
/// <returns>表示异步操作的任务。</returns>
|
||||
public async Task RollbackAsync() => await _db.RollbackTranAsync();
|
||||
public async Task RollbackAsync()
|
||||
{
|
||||
if (_db != null)
|
||||
await _db.RollbackTranAsync();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user