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