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