namespace Yw.DAL.SQLite { /// /// 运行分析配置 /// public partial class RunAnalyConfigure : BaseDAL, IRunAnalyConfigure { /// /// /// public override ConnectionConfig ConnectionConfig { get { return ConfigHelper.SQLiteConnectionConfig; } } /// /// /// public Entity.RunAnalyConfigure GetByObjectTypeAndObjectID(string ObjectType, long ObjectID) { using (var db = new SqlSugarClient(ConnectionConfig)) { return db.Queryable() .Where(x => x.ObjectType == ObjectType && x.ObjectID == ObjectID) .First(); } } /// /// /// public long InsertOrUpdate(Entity.RunAnalyConfigurePure pure) { if (pure == null) { return default; } using (var db = new SqlSugarClient(ConnectionConfig)) { try { db.BeginTran(); var entity = db.Queryable() .Where(x => x.ObjectType == pure.ObjectType && x.ObjectID == pure.ObjectID) .First(); if (entity == null) { entity = new Entity.RunAnalyConfigure(pure); } else { entity.Reset(pure); } if (entity.ID < 1) { entity.ID = db.Insertable(entity).ExecuteReturnSnowflakeId(); if (entity.ID < 1) { db.RollbackTran(); return default; } } else { var bol = db.Updateable(entity).ExecuteCommandHasChange(); if (!bol) { db.RollbackTran(); return default; } } return entity.ID; } catch { db.RollbackTran(); throw; } } } /// /// 设置 /// public bool Set(List pureList) { using (var db = new SqlSugarClient(ConnectionConfig)) { try { db.BeginTran(); if (pureList != null && pureList.Count > 0) { foreach (var pure in pureList) { var entity = db.Queryable() .Where(x => x.ObjectType == pure.ObjectType && x.ObjectID == pure.ObjectID) .First(); if (entity == null) { entity = new Entity.RunAnalyConfigure(pure); } else { entity.Reset(pure); } 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; } } } } db.CommitTran(); return true; } catch { db.RollbackTran(); throw; } } } /// /// 通过 ObjectType 和 ObjectID 删除 /// public bool DeleteByObjectTypeAndObjectID(string ObjectType, long ObjectID) { using (var db = new SqlSugarClient(ConnectionConfig)) { return db.Deleteable() .Where(x => x.ObjectType == ObjectType && x.ObjectID == ObjectID) .ExecuteCommandHasChange(); } } } }