namespace Yw.DAL.SQLite { /// /// /// public partial class BimfaceFile : BaseDAL_Paras_Flags_TagName_Sorter, IBimfaceFile { /// /// /// public override ConnectionConfig ConnectionConfig { get { return ConfigHelper.SQLiteConnectionConfig; } } /// /// 插入拓展 /// public long InsertEx(Entity.BimfaceFile entity, List entityLabelList) { if (entity == null) { return default; } using (var db = new SqlSugarClient(ConnectionConfig)) { try { db.BeginTran(); if (entity.ID > 0) { var bol = db.Insertable(entity).ExecuteCommand() > 0; if (!bol) { db.RollbackTran(); return default; } } else { entity.ID = db.Insertable(entity).ExecuteReturnSnowflakeId(); } if (entity.ID < 1) { db.RollbackTran(); return default; } if (entityLabelList != null && entityLabelList.Count > 0) { entityLabelList.ForEach(x => { x.BimfaceFileID = entity.ID; if (x.ID < 1) { x.ID = SnowFlakeSingle.instance.NextId(); } }); var bol = db.Insertable(entityLabelList).ExecuteCommand() > 0; if (!bol) { db.RollbackTran(); return default; } } db.CommitTran(); return entity.ID; } catch { db.RollbackTran(); throw; } } } /// /// 更新 FileStatus /// public bool UpdateFileStatus(long ID, int FileStatus) { using (SqlSugarClient db = new(ConnectionConfig)) { return db.Updateable() .SetColumns(x => x.FileStatus == FileStatus) .Where(x => x.ID == ID) .ExecuteCommandHasChange(); } } /// /// 更新 Content /// public bool UpdateContent(long ID, string Content) { using (SqlSugarClient db = new(ConnectionConfig)) { return db.Updateable() .SetColumns(x => x.Content == Content) .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 false; } db.Deleteable().Where(x => x.BimfaceFileID == ID).ExecuteCommandHasChange(); db.CommitTran(); return true; } catch { db.RollbackTran(); throw; } } } } }