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