namespace Yw.DAL
{
///
///
///
public partial class SysUnitTransfer : BaseDAL
{
///
///
///
public override ConnectionConfig ConnectionConfig
{
get { return ConfigHelper.DefaultConnectionConfig; }
}
///
/// 通过 TypeID 获取
///
public List GetByTypeID(long TypeID)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
return db.Queryable()
.Where(x => x.TypeID == TypeID).ToList();
}
}
///
/// 设置
///
public bool SetOfType(long TypeID, List list)
{
using (var db = new SqlSugarClient(ConnectionConfig))
{
if (list == null || list.Count < 1)
{
return db.Deleteable()
.Where(x => x.TypeID == TypeID)
.ExecuteCommandHasChange();
}
try
{
db.BeginTran();
var ids = new List();
foreach (var setter in list)
{
var entity = db.Queryable()
.Where(x => x.TypeID == TypeID && x.FromValueID == setter.FromValueID && x.ToValueID == setter.ToValueID).First();
if (entity == null)
{
entity = new Entity.SysUnitTransfer()
{
TypeID = TypeID,
FromValueID = setter.FromValueID,
ToValueID = setter.ToValueID,
Expression = setter.Expression
};
}
else
{
entity.Expression = setter.Expression;
}
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.TypeID == TypeID && !ids.Contains(x.ID))
.ExecuteCommandHasChange();
db.CommitTran();
return true;
}
catch
{
db.RollbackTran();
return false;
}
}
}
}
}