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