namespace Yw.DAL.PostgreSql { /// /// /// public partial class BimfaceFileLabel : BaseDAL, IBimfaceFileLabel { /// /// /// public override ConnectionConfig ConnectionConfig { get { return ConfigHelper.PostgreSqlConnectionConfig; } } /// /// 根据 BimfaceFileID 获取 /// public List GetByBimfaceFileID(long BimfaceFileID) { using (var db = new SqlSugarClient(ConnectionConfig)) { return db.Queryable() .Where(x => x.BimfaceFileID == BimfaceFileID) .ToList(); } } /// /// 更新 Content /// public bool UpdateContent(long ID, string Content) { using (var db = new SqlSugarClient(ConnectionConfig)) { return db.Updateable() .SetColumns(x => x.Content == Content) .Where(x => x.ID == ID) .ExecuteCommandHasChange(); } } /// /// 保存 /// public bool Save(long BimfaceFileID, List entityList) { if (BimfaceFileID < 1) { return false; } if (entityList != null && entityList.Count > 0) { var bimfaceFileIds = entityList.Select(x => x.BimfaceFileID).Distinct().ToList(); if (bimfaceFileIds.Count != 1 || bimfaceFileIds[0] != BimfaceFileID) { return false; } } using (var db = new SqlSugarClient(ConnectionConfig)) { try { db.BeginTran(); var ids = new List(); if (entityList != null && entityList.Count > 0) { foreach (var entity in entityList) { if (entity.ID < 1) { entity.ID = db.Insertable(entity).ExecuteReturnSnowflakeId(); if (entity.ID < 1) { db.RollbackTran(); return false; } } else { var bol = db.Updateable(entity).ExecuteCommandHasChange(); if (!bol) { db.RollbackTran(); return false; } } ids.Add(entity.ID); } } db.Deleteable().Where(x => x.BimfaceFileID == BimfaceFileID && !ids.Contains(x.ID)).ExecuteCommandHasChange(); db.CommitTran(); return true; } catch { db.RollbackTran(); throw; } } } } }