using Yw.DAL.PostgreSql;
|
|
namespace HStation.DAL.PostgreSql
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public partial class XhsValveMainPhartMapping : BaseDAL_Sorter<Entity.XhsValveMainPhartMapping>, IXhsValveMainPhartMapping
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public override ConnectionConfig ConnectionConfig
|
{
|
get { return PhartRelation.ConfigHelper.PostgreSqlConnectionConfig; }
|
}
|
|
|
/// <summary>
|
/// 插入拓展
|
/// </summary>
|
public long InsertEx(Entity.XhsValveMainPhartMapping mapping, Yw.Entity.PhartDiagram diagram, List<Yw.Entity.PhartGraph> graphList)
|
{
|
if (mapping == null)
|
{
|
return default;
|
}
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
db.BeginTran();
|
long diagramId = mapping.DiagramID;
|
if (diagram != null)
|
{
|
if (diagram.ID > 0)
|
{
|
var bol = db.Insertable(diagram).ExecuteCommand() > 0;
|
if (bol)
|
{
|
diagramId = diagram.ID;
|
}
|
}
|
else
|
{
|
diagramId = db.Insertable(diagram).ExecuteReturnSnowflakeId();
|
}
|
}
|
|
if (diagramId < 1)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
|
if (graphList != null && graphList.Any())
|
{
|
List<long> graphIds = null;
|
graphList.ForEach(x => x.DiagramID = diagramId);
|
if (graphList.Exists(x => x.ID > 0))
|
{
|
graphList.ForEach(x =>
|
{
|
if (x.ID < 1)
|
{
|
x.ID = SnowFlakeSingle.instance.NextId();
|
}
|
});
|
if (db.Insertable(graphList).ExecuteCommand() > 0)
|
{
|
graphIds = graphList.Select(x => x.ID).Distinct().ToList();
|
}
|
}
|
else
|
{
|
graphIds = db.Insertable(graphList).ExecuteReturnSnowflakeIdList();
|
}
|
if (graphIds == null || !graphIds.Any())
|
{
|
db.RollbackTran();
|
return default;
|
}
|
}
|
mapping.DiagramID = diagramId;
|
long mappingId = 0;
|
if (mapping.ID > 0)
|
{
|
var bol = db.Insertable(mapping).ExecuteCommand() > 0;
|
if (bol)
|
{
|
mappingId = mapping.ID;
|
}
|
}
|
else
|
{
|
mappingId = db.Insertable(mapping).ExecuteReturnSnowflakeId();
|
}
|
if (mappingId < 1)
|
{
|
db.RollbackTran();
|
return default;
|
}
|
db.CommitTran();
|
return mappingId;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 更新拓展
|
/// </summary>
|
public bool UpdateEx(Entity.XhsValveMainPhartMapping mapping, Yw.Entity.PhartDiagram diagram, List<Yw.Entity.PhartGraph> graphList)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
db.BeginTran();
|
var bol = db.Updateable(mapping).ExecuteCommandHasChange();
|
if (!bol)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
if (diagram != null)
|
{
|
if (diagram.ID != mapping.DiagramID)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
bol = db.Updateable(diagram).ExecuteCommandHasChange();
|
if (!bol)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
}
|
if (graphList != null && graphList.Count > 0)
|
{
|
if (graphList.Exists(x => x.DiagramID != mapping.DiagramID))
|
{
|
db.RollbackTran();
|
return false;
|
}
|
bol = db.Updateable(graphList).ExecuteCommandHasChange();
|
if (!bol)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
}
|
db.CommitTran();
|
return true;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 通过 ValveMainID 获取
|
/// </summary>
|
public List<Entity.XhsValveMainPhartMapping> GetByValveMainID(long ValveMainID)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.XhsValveMainPhartMapping>()
|
.Where(x => x.ValveMainID == ValveMainID)
|
.OrderBy(x => x.SortCode).ToList();
|
}
|
}
|
|
/// <summary>
|
/// 通过 ValveMainIds 获取
|
/// </summary>
|
public List<Entity.XhsValveMainPhartMapping> GetByValveMainIds(List<long> ValveMainIds)
|
{
|
if (ValveMainIds == null || ValveMainIds.Count < 1)
|
{
|
return default;
|
}
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.XhsValveMainPhartMapping>()
|
.Where(x => ValveMainIds.Contains(x.ValveMainID))
|
.OrderBy(x => x.SortCode).ToList();
|
}
|
}
|
|
/// <summary>
|
/// 通过 DiagramID 获取
|
/// </summary>
|
public List<Entity.XhsValveMainPhartMapping> GetByDiagramID(long DiagramID)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.XhsValveMainPhartMapping>()
|
.Where(x => x.DiagramID == DiagramID)
|
.OrderBy(x => x.SortCode).ToList();
|
}
|
}
|
|
/// <summary>
|
/// 通过 DiagramIds 获取
|
/// </summary>
|
public List<Entity.XhsValveMainPhartMapping> GetByDiagramIds(List<long> DiagramIds)
|
{
|
if (DiagramIds == null || DiagramIds.Count < 1)
|
{
|
return default;
|
}
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Queryable<Entity.XhsValveMainPhartMapping>()
|
.Where(x => DiagramIds.Contains(x.DiagramID))
|
.OrderBy(x => x.SortCode).ToList();
|
}
|
}
|
|
/// <summary>
|
/// 更新 OtherName
|
/// </summary>
|
public bool UpdateOtherName(long ID, string OtherName)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Updateable<Entity.XhsValveMainPhartMapping>()
|
.SetColumns(x => x.OtherName == OtherName)
|
.Where(x => x.ID == ID)
|
.ExecuteCommandHasChange();
|
}
|
}
|
|
/// <summary>
|
/// 更新 Importance
|
/// </summary>
|
public bool UpdateImportance(long ID, int Importance)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Updateable<Entity.XhsValveMainPhartMapping>()
|
.SetColumns(x => x.Importance == Importance)
|
.Where(x => x.ID == ID)
|
.ExecuteCommandHasChange();
|
}
|
}
|
|
/// <summary>
|
/// 通过 ValveMainID 删除
|
/// </summary>
|
public bool DeleteByValveMainID(long ValveMainID)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
return db.Deleteable<Entity.XhsValveMainPhartMapping>()
|
.Where(x => x.ValveMainID == ValveMainID)
|
.ExecuteCommandHasChange();
|
}
|
}
|
|
/// <summary>
|
/// 通过 DiagramID 删除所有映射、图表、图形
|
/// </summary>
|
public bool DeleteByDiagramID(long DiagramID)
|
{
|
using (var db = new SqlSugarClient(ConnectionConfig))
|
{
|
try
|
{
|
db.BeginTran();
|
var bol = db.Deleteable<Entity.XhsValveMainPhartMapping>().Where(x => x.DiagramID == DiagramID).ExecuteCommandHasChange();
|
if (!bol)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
|
bol = db.Deleteable<Yw.Entity.PhartDiagram>().Where(x => x.ID == DiagramID).ExecuteCommandHasChange();
|
if (!bol)
|
{
|
db.RollbackTran();
|
return false;
|
}
|
|
bol = db.Deleteable<Yw.Entity.PhartGraph>().Where(x => x.DiagramID == DiagramID).ExecuteCommandHasChange();
|
db.CommitTran();
|
return true;
|
}
|
catch
|
{
|
db.RollbackTran();
|
throw;
|
}
|
}
|
}
|
|
|
|
}
|
}
|