namespace Yw.DAL.PostgreSql
{
///
///
///
public partial class SysUnitName : BaseDAL, ISysUnitName
{
///
///
///
public override ConnectionConfig ConnectionConfig
{
get { return ConfigHelper.PostgreSqlConnectionConfig; }
}
///
/// 通过 ValueID 获取
///
public List GetByValueID(long ValueID)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Queryable()
.Where(x => x.ValueID == ValueID).ToList();
}
}
///
/// Value
///
public bool SetByValueID(long ValueID, List list)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
if (list == null || list.Count < 1)
{
return db.Deleteable()
.Where(x => x.ValueID == ValueID)
.ExecuteCommandHasChange();
}
try
{
db.BeginTran();
var ids = new List();
foreach (var setter in list)
{
var entity = db.Queryable()
.Where(x => x.ValueID == ValueID && x.LangID == setter.LangID).First();
if (entity == null)
{
entity = new Entity.SysUnitName()
{
ValueID = ValueID,
LangID = setter.LangID,
Name = setter.Name
};
}
else
{
entity.Name = setter.Name;
}
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.ValueID == ValueID && !ids.Contains(x.ID))
.ExecuteCommandHasChange();
db.CommitTran();
return true;
}
catch
{
db.RollbackTran();
throw;
}
}
}
}
}