using Yw.DAL.PostgreSql;
namespace HStation.DAL.PostgreSql
{
///
/// 泵曲线
///
public partial class XhsPhartDiagram : BaseDAL_Paras_Flags_TagName_Sorter, IXhsPhartDiagram
{
///
///
///
public override ConnectionConfig ConnectionConfig
{
get { return Xhs.ConfigHelper.PostgreSqlConnectionConfig; }
}
///
/// 插入拓展
///
public long InsertEx(Entity.XhsPhartDiagram diagram, List graphList)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
try
{
db.BeginTran();
long diagramId = 0;
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 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;
}
}
db.CommitTran();
return diagramId;
}
catch
{
db.RollbackTran();
throw;
}
}
}
///
/// 更新拓展
///
public bool UpdateEx(Entity.XhsPhartDiagram diagram, List graphList)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
try
{
db.BeginTran();
var bol = db.Updateable(diagram).ExecuteCommandHasChange();
if (!bol)
{
db.RollbackTran();
return false;
}
if (graphList != null && graphList.Any())
{
bol = db.Updateable(graphList).ExecuteCommandHasChange();
if (!bol)
{
db.RollbackTran();
return false;
}
}
db.CommitTran();
return true;
}
catch
{
db.RollbackTran();
throw;
}
}
}
///
/// 更新 DiagramParas
///
public bool UpdateDiagramParas(long ID, string DiagramParas)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Updateable()
.SetColumns(x => x.DiagramParas == DiagramParas)
.Where(x => x.ID == ID).ExecuteCommandHasChange();
}
}
///
/// 更新 DiagramInfo
///
public bool UpdateDiagramInfo(long ID, string DiagramInfo)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Updateable()
.SetColumns(x => x.DiagramInfo == DiagramInfo)
.Where(x => x.ID == ID).ExecuteCommandHasChange();
}
}
///
/// 更新 DispParas
///
public bool UpdateDispParas(long ID, string DispParas)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Updateable()
.SetColumns(x => x.DispParas == DispParas)
.Where(x => x.ID == ID).ExecuteCommandHasChange();
}
}
///
/// 更新 ExtraParas
///
public bool UpdateExtraParas(long ID, string ExtraParas)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Updateable()
.SetColumns(x => x.ExtraParas == ExtraParas)
.Where(x => x.ID == ID).ExecuteCommandHasChange();
}
}
///
/// 通过 ID 删除 同时删除图形
///
public bool DeleteExByID(long ID)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
try
{
db.BeginTran();
var bol = db.Deleteable().Where(x => x.ID == ID).ExecuteCommandHasChange();
if (!bol)
{
db.RollbackTran();
return default;
}
db.Deleteable().Where(x => x.DiagramID == ID).ExecuteCommandHasChange();
db.CommitTran();
return true;
}
catch
{
db.RollbackTran();
throw;
}
}
}
}
}