using SqlSugar;
|
using System;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Transactions;
|
|
|
|
namespace IStation.DAL
|
{
|
/// <summary>
|
/// 测点
|
/// </summary>
|
public partial class MonitorPoint : CorpDAL_Sorter_UseStatus_TagName_TerminalId<Entity.MonitorPoint>
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public override ConnectionConfig ConnectionConfig
|
{
|
get { return ConfigHelper.DefaultConnectionConfig; }
|
|
}
|
|
/// <summary>
|
/// 通过 BelongType 和 BelongID 获取
|
/// </summary>
|
public List<Entity.MonitorPoint> GetByBelongTypeAndBelongID(long CorpID, string BelongType, long BelongID)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.MonitorPoint>()
|
.Where(x => x.CorpID == CorpID && x.BelongType == BelongType && x.BelongID == BelongID).ToList();
|
}
|
}
|
|
/// <summary>
|
/// 插入拓展
|
/// </summary>
|
public long InsertEx(Entity.MonitorPoint entity, List<Entity.Signal> signals)
|
{
|
if (entity == null)
|
return default;
|
if (signals == null || signals.Count() < 1)
|
return default;
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
db.BeginTran();
|
var id = db.Insertable(entity).ExecuteReturnSnowflakeId();
|
if (id < 1)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
signals.ForEach(x => x.MonitorPointID = id);
|
var bol = db.Insertable(signals).ExecuteReturnSnowflakeIdList().Count() > 0;
|
if (!bol)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
db.CommitTran();
|
return id;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 批量插入拓展
|
/// </summary>
|
public bool InsertsEx(Dictionary<Entity.MonitorPoint, List<Entity.Signal>> dict)
|
{
|
if (dict == null || dict.Count < 1)
|
return default;
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
db.BeginTran();
|
foreach (var kvp in dict)
|
{
|
var id = db.Insertable(kvp.Key).ExecuteReturnSnowflakeId();
|
if (id < 1)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
kvp.Value.ForEach(x => x.MonitorPointID = id);
|
var bol = db.Insertable(kvp.Value).ExecuteReturnSnowflakeIdList().Count() > 0;
|
if (!bol)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
}
|
db.CommitTran();
|
return true;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 批量插入拓展
|
/// </summary>
|
public List<long> InsertsREx(Dictionary<Entity.MonitorPoint, List<Entity.Signal>> dict)
|
{
|
if (dict == null || dict.Count < 1)
|
return default;
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
db.BeginTran();
|
var list = new List<long>();
|
foreach (var kvp in dict)
|
{
|
var id = db.Insertable(kvp.Key).ExecuteReturnSnowflakeId();
|
if (id < 1)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
kvp.Value.ForEach(x => x.MonitorPointID = id);
|
var bol = db.Insertable(kvp.Value).ExecuteReturnSnowflakeIdList().Count() > 0;
|
if (!bol)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
list.Add(id);
|
}
|
db.CommitTran();
|
return list;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 更新拓展
|
/// </summary>
|
public bool UpdateEx(Entity.MonitorPoint entity, List<Entity.Signal> signals)
|
{
|
if (entity == null)
|
return default;
|
if (signals == null || signals.Count() < 1)
|
return default;
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
db.BeginTran();
|
var result = db.Updateable(entity).ExecuteCommandHasChange();
|
if (!result)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
result = db.Updateable(signals).ExecuteCommandHasChange();
|
if (!result)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
db.CommitTran();
|
return true;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
|
}
|
|
/// <summary>
|
/// 批量更新拓展
|
/// </summary>
|
public bool UpdatesEx(Dictionary<Entity.MonitorPoint, List<Entity.Signal>> dict)
|
{
|
if (dict == null || dict.Count < 1)
|
return default;
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
db.BeginTran();
|
foreach (var kvp in dict)
|
{
|
var result = db.Updateable(kvp.Key).ExecuteCommandHasChange();
|
if (!result)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
result = db.Insertable(kvp.Value).ExecuteCommand() > 0;
|
if (!result)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
}
|
db.CommitTran();
|
return true;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 通过 ID 删除
|
/// </summary>
|
public override bool DeleteByID(long CorpID, long ID)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
db.BeginTran();
|
var result = db.Deleteable<Entity.MonitorPoint>()
|
.Where(x => x.CorpID == CorpID && x.ID == ID)
|
.ExecuteCommandHasChange();
|
if (!result)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
result = db.Deleteable<Entity.Signal>()
|
.Where(x => x.CorpID == CorpID && x.MonitorPointID == ID)
|
.ExecuteCommandHasChange();
|
if (!result)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
db.CommitTran();
|
return true;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 更新 GroupID
|
/// </summary>
|
public bool UpdateGroupID(long CorpID, long ID, long GroupID)
|
{
|
using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Updateable<Entity.MonitorPoint>()
|
.SetColumns(x => x.GroupID == GroupID)
|
.Where(x =>x.CorpID==CorpID&& x.ID == ID)
|
.ExecuteCommand() > 0;
|
}
|
}
|
|
}
|
}
|