namespace Yw.DAL.PostgreSql
{
///
///
///
public partial class BimfaceFileRelationLabel : BaseDAL, IBimfaceFileRelationLabel
{
///
///
///
public override ConnectionConfig ConnectionConfig
{
get { return ConfigHelper.PostgreSqlConnectionConfig; }
}
///
/// 根据 RelationID 获取
///
public List GetByRelationID(long RelationID)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Queryable()
.Where(x => x.RelationID == RelationID)
.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 RelationID, List entityList)
{
if (RelationID < 1)
{
return false;
}
if (entityList != null && entityList.Count > 0)
{
var relationIds = entityList.Select(x => x.RelationID).Distinct().ToList();
if (relationIds.Count != 1 || relationIds[0] != RelationID)
{
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.RelationID == RelationID && !ids.Contains(x.ID)).ExecuteCommandHasChange();
db.CommitTran();
return true;
}
catch
{
db.RollbackTran();
throw;
}
}
}
}
}