重构项目,将项目拆分(临时提交)
This commit is contained in:
147
DMS.Infrastructure/Repositories/VarTableRepository.cs
Normal file
147
DMS.Infrastructure/Repositories/VarTableRepository.cs
Normal file
@@ -0,0 +1,147 @@
|
||||
using iNKORE.UI.WPF.Modern.Common.IconKeys;
|
||||
using DMS.Core.Enums;
|
||||
using DMS.Extensions;
|
||||
using SqlSugar;
|
||||
using System.Diagnostics;
|
||||
using AutoMapper;
|
||||
using DMS.Infrastructure.Entities;
|
||||
using DMS.Helper;
|
||||
using DMS.Models;
|
||||
|
||||
namespace DMS.Infrastructure.Repositories;
|
||||
|
||||
public class VarTableRepository
|
||||
{
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
public VarTableRepository(IMapper mapper)
|
||||
{
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加变量表
|
||||
/// </summary>
|
||||
/// <param name="varTable"></param>
|
||||
/// <returns>变量表的ID</returns>
|
||||
public async Task<VariableTable> AddAsync(VariableTable varTable)
|
||||
{
|
||||
Stopwatch stopwatch = new Stopwatch();
|
||||
stopwatch.Start();
|
||||
using (var db = DbContext.GetInstance())
|
||||
{
|
||||
var addVarTable = await AddAsync(varTable, db);
|
||||
|
||||
stopwatch.Stop();
|
||||
NlogHelper.Info($"添加变量表 '{varTable.Name}' 耗时:{stopwatch.ElapsedMilliseconds}ms");
|
||||
return addVarTable;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 添加变量表支持事务
|
||||
/// </summary>
|
||||
/// <param name="db"></param>
|
||||
/// <param name="dbDevice"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<VariableTable> AddAsync(VariableTable variableTable, SqlSugarClient db)
|
||||
{
|
||||
Stopwatch stopwatch = new Stopwatch();
|
||||
stopwatch.Start();
|
||||
|
||||
var addVarTabel = await db.Insertable<DbVariableTable>(_mapper.Map<DbVariableTable>(variableTable))
|
||||
.ExecuteReturnEntityAsync();
|
||||
stopwatch.Stop();
|
||||
NlogHelper.Info($"添加设备 '{addVarTabel.Name}' 的默认变量表耗时:{stopwatch.ElapsedMilliseconds}ms");
|
||||
return _mapper.Map<VariableTable>(addVarTabel);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 编辑变量表
|
||||
/// </summary>
|
||||
/// <param name="variableTable"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<int> UpdateAsync(VariableTable variableTable)
|
||||
{
|
||||
Stopwatch stopwatch = new Stopwatch();
|
||||
stopwatch.Start();
|
||||
using var db = DbContext.GetInstance();
|
||||
var result = await UpdateAsync(variableTable, db);
|
||||
stopwatch.Stop();
|
||||
NlogHelper.Info($"编辑变量表 '{variableTable.Name}' 耗时:{stopwatch.ElapsedMilliseconds}ms");
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 编辑变量表,支持事务
|
||||
/// </summary>
|
||||
/// <param name="variableTable"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<int> UpdateAsync(VariableTable variableTable, SqlSugarClient db)
|
||||
{
|
||||
Stopwatch stopwatch = new Stopwatch();
|
||||
stopwatch.Start();
|
||||
var result = await db.Updateable<DbVariableTable>(_mapper.Map<DbVariableTable>(variableTable))
|
||||
.ExecuteCommandAsync();
|
||||
stopwatch.Stop();
|
||||
NlogHelper.Info($"编辑变量表 '{variableTable.Name}' 耗时:{stopwatch.ElapsedMilliseconds}ms");
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除变量表
|
||||
/// </summary>
|
||||
/// <param name="variableTable"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<int> DeleteAsync(VariableTable variableTable)
|
||||
{
|
||||
Stopwatch stopwatch = new Stopwatch();
|
||||
stopwatch.Start();
|
||||
using (var db = DbContext.GetInstance())
|
||||
{
|
||||
var result = await DeleteAsync(variableTable, db);
|
||||
stopwatch.Stop();
|
||||
NlogHelper.Info($"删除变量表 '{variableTable.Name}' 耗时:{stopwatch.ElapsedMilliseconds}ms");
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除变量表支持事务
|
||||
/// </summary>
|
||||
/// <param name="deviceVariableTables"></param>
|
||||
/// <param name="db"></param>
|
||||
public async Task<int> DeleteAsync(VariableTable varTable, SqlSugarClient db)
|
||||
{
|
||||
if (varTable == null )
|
||||
return 0;
|
||||
Stopwatch stopwatch = new Stopwatch();
|
||||
stopwatch.Start();
|
||||
// 转换对象
|
||||
var res= await db.Deleteable<DbVariableTable>(_mapper.Map<DbVariableTable>(varTable))
|
||||
.ExecuteCommandAsync();
|
||||
stopwatch.Stop();
|
||||
NlogHelper.Info($"删除变量表 '{varTable.Name}' 耗时:{stopwatch.ElapsedMilliseconds}ms");
|
||||
return res;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除变量表支持事务
|
||||
/// </summary>
|
||||
/// <param name="deviceVariableTables"></param>
|
||||
/// <param name="db"></param>
|
||||
public async Task DeleteAsync(IEnumerable<VariableTable> deviceVariableTables, SqlSugarClient db)
|
||||
{
|
||||
if (deviceVariableTables == null || deviceVariableTables.Count() == 0)
|
||||
return;
|
||||
// 转换对象
|
||||
var dbList = deviceVariableTables.Select(v => _mapper.Map<DbVariableTable>(v))
|
||||
.ToList();
|
||||
await db.Deleteable<DbVariableTable>(dbList)
|
||||
.ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user