public SCAclMemberCollection LoadMembers(IConnectiveSqlClause condition, DateTime timePoint) { ConnectiveSqlClauseCollection timePointBuilder = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder(timePoint); ConnectiveSqlClauseCollection connectiveBuilder = new ConnectiveSqlClauseCollection(condition, timePointBuilder); string sql = string.Format( "SELECT * FROM {0} WHERE {1} ORDER BY SortID", this.GetLoadingTableName(timePoint), connectiveBuilder.ToSqlString(TSqlBuilder.Instance)); SCAclMemberCollection result = new SCAclMemberCollection(); AUCommon.DoDbAction(() => { using (DbContext context = DbContext.GetContext(this.GetConnectionName())) { using (IDataReader reader = DbHelper.RunSqlReturnDR(sql, this.GetConnectionName())) { ORMapping.DataReaderToCollection(result, reader); } } }); return(result); }
public JobCollection UPDLOCKLoadJobs(int batchCount, IConnectiveSqlClause whereClause) { JobCollection result = new JobCollection(); if (whereClause.IsEmpty == false) { using (DbContext context = DbContext.GetContext(this.GetConnectionName())) { string top = batchCount >= 0 ? "TOP " + batchCount : string.Empty; Database db = DatabaseFactory.Create(context); using (IDataReader dr = db.ExecuteReader(CommandType.Text, string.Format(UPDLOCK_LOAD_JOBS, top, whereClause.AppendTenantCodeSqlClause(typeof(JobBase)).ToSqlString(TSqlBuilder.Instance)))) { ORMapping.DataReaderToCollection(result, dr); } } AfterLoad(result); } return(result); }
public IEnumerable <ReferenceHistoryEntry> GetReferenceHistoryEntries(string objId) { ReferenceHistoryEntryCollection list = new ReferenceHistoryEntryCollection(); WhereSqlClauseBuilder where1 = new WhereSqlClauseBuilder(); where1.AppendItem("R.ObjectID", objId); WhereSqlClauseBuilder where2 = new WhereSqlClauseBuilder(); where2.AppendItem("R.ParentID", objId); var sql = string.Format(@"SELECT R.[ParentID], R.[ObjectID], R.[VersionStartTime], R.[VersionEndTime], R.[Status], R.[IsDefault], R.[InnerSort], R.[CreatorID], R.[CreatorName],O.Name, O.DisplayName FROM [SC].[SchemaRelationObjectsSnapshot] R LEFT JOIN SC.SchemaObjectSnapshot_Current O ON R.ParentID = O.ID WHERE O.VersionStartTime <=R.VersionStartTime AND (O.VersionEndTime IS NULL OR O.VersionEndTime>=R.VersionEndTime) AND {0} UNION SELECT R.[ParentID], R.[ObjectID], R.[VersionStartTime], R.[VersionEndTime], R.[Status], R.[IsDefault], R.[InnerSort], R.[CreatorID], R.[CreatorName],O.Name, O.DisplayName FROM [SC].[SchemaRelationObjectsSnapshot] R LEFT JOIN SC.SchemaObjectSnapshot_Current O ON R.ObjectID = O.ID WHERE O.VersionStartTime <=R.VersionStartTime AND (O.VersionEndTime IS NULL OR O.VersionEndTime>=R.VersionEndTime) AND {1} ORDER BY VersionStartTime ASC ", where1.ToSqlString(TSqlBuilder.Instance), where2.ToSqlString(TSqlBuilder.Instance)); using (var context = DbHelper.GetDBContext(this.GetConnectionName())) { Database db = DatabaseFactory.Create(context); var cmd = db.GetSqlStringCommand(sql); using (var dr = db.ExecuteReader(cmd)) { ORMapping.DataReaderToCollection(list, dr); } } return(list); }
/// <summary> /// 获取与指定对象关联的条件历史 /// </summary> /// <param name="id">对象ID</param> /// <param name="type">类型,如果为<see langword="null"/>则不限。</param> /// <returns></returns> public IEnumerable <SCCondition> GetConditionHistoryEntries(string id, string type) { SCConditionCollection entries = new SCConditionCollection(); using (var context = DbHelper.GetDBContext(this.GetConnectionName())) { Database db = DatabaseFactory.Create(context); WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); builder.AppendItem("OwnerID", id); if (type != null) { builder.AppendItem("Type", type); } var sql = @"SELECT * FROM [SC].[Conditions] WHERE " + builder.ToSqlString(TSqlBuilder.Instance) + " ORDER BY [VersionEndTime] DESC, SortID ASC"; var cmd = db.GetSqlStringCommand(sql); using (var dr = db.ExecuteReader(cmd)) { ORMapping.DataReaderToCollection(entries, dr); } return(entries); } }
public IEnumerable <LogCategory> LoadCategories() { LogCategoryCollection list = new LogCategoryCollection(); var sql = @"SELECT [Category],[OperationType] FROM [SC].[OperationLog] GROUP BY Category,OperationType"; using (var context = DbHelper.GetDBContext(this.GetConnectionName())) { Database db = DatabaseFactory.Create(context); var cmd = db.GetSqlStringCommand(sql); using (var dr = db.ExecuteReader(cmd)) { ORMapping.DataReaderToCollection(list, dr); } } return(list); }
/// <summary> /// 获取与制定对象关联的 /// </summary> /// <param name="id"></param> /// <param name="schemaType"></param> /// <returns></returns> public IEnumerable <HistoryEntry> GetAllHistoryEntry(string id, ref string schemaType) { HistoryEntryCollection entries = new HistoryEntryCollection(); schemaType = null; using (var context = DbHelper.GetDBContext(this.GetConnectionName())) { Database db = DatabaseFactory.Create(context); WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); builder.AppendItem("ID", id); var sql = "SELECT TOP 1 SchemaType FROM [SC].[SchemaObjectSnapshot] WHERE " + builder.ToSqlString(TSqlBuilder.Instance); sql += @" SELECT [VersionStartTime] ,[VersionEndTime] ,[CreatorID] ,[CreatorName] ,[Status] FROM [SC].[SchemaObjectSnapshot] WHERE " + builder.ToSqlString(TSqlBuilder.Instance) + " ORDER BY VersionStartTime DESC"; var cmd = db.GetSqlStringCommand(sql); using (var dr = db.ExecuteReader(cmd)) { if (dr.Read()) { schemaType = dr.GetString(0); if (dr.NextResult()) { ORMapping.DataReaderToCollection(entries, dr); } else { cmd.Cancel(); } } } return(entries); } }
public AUSchemaCategoryCollection LoadSubCategories(string superID, bool normalOnly, DateTime timePoint) { var conditions = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder(timePoint); WhereSqlClauseBuilder where = new WhereSqlClauseBuilder(); if (string.IsNullOrEmpty(superID) == false) { where.AppendItem("ParentID", superID); } else { where.AppendItem("ParentID", (string)null, "IS"); } if (normalOnly) { where.NormalFor("Status"); } conditions.Add(where); AUSchemaCategoryCollection result = new AUSchemaCategoryCollection(); AUCommon.DoDbAction(() => { using (DbContext context = DbContext.GetContext(this.GetConnectionName())) { VersionedObjectAdapterHelper.Instance.FillData(ORMapping.GetMappingInfo(typeof(AUSchemaCategory)).TableName, conditions, this.GetConnectionName(), reader => { ORMapping.DataReaderToCollection(result, reader); }); } }); return(result); }
public IEnumerable <HistoryEntry> GetObjectHistoryEntries(string objId) { HistoryEntryCollection list = new HistoryEntryCollection(); WhereSqlClauseBuilder where = new WhereSqlClauseBuilder(); where.AppendItem("ID", objId); var sql = @"SELECT [Name],[DisplayName],[VersionStartTime], [VersionEndTime],[Status] FROM [SC].[SchemaObjectSnapshot] WHERE " + where.ToSqlString(TSqlBuilder.Instance) + " ORDER BY VersionStartTime ASC"; using (var context = DbHelper.GetDBContext(this.GetConnectionName())) { Database db = DatabaseFactory.Create(context); var cmd = db.GetSqlStringCommand(sql); using (var dr = db.ExecuteReader(cmd)) { ORMapping.DataReaderToCollection(list, dr); } } return(list); }