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; } } } } }