Esempio n. 1
0
        public IEnumerable <MembershipHistoryEntry> GetMembershipHistoryEntries(string objId)
        {
            MembershipHistoryEntryCollection list = new MembershipHistoryEntryCollection();

            WhereSqlClauseBuilder where1 = new WhereSqlClauseBuilder();

            where1.AppendItem("MemberID", objId);
            WhereSqlClauseBuilder where2 = new WhereSqlClauseBuilder();

            where2.AppendItem("ContainerID", objId);

            var sql = string.Format(@"SELECT R.[ContainerID], R.[MemberID], R.[VersionStartTime], R.[VersionEndTime], R.[Status], R.[InnerSort], R.[CreatorID], R.[CreatorName],O.Name,O.DisplayName
FROM [SC].[SchemaMembersSnapshot] R LEFT JOIN SC.SchemaObjectSnapshot_Current O ON R.ContainerID = O.ID
WHERE O.VersionStartTime <=R.VersionStartTime AND (O.VersionEndTime IS NULL OR O.VersionEndTime>=R.VersionEndTime) AND {0}
UNION
SELECT R.[ContainerID], R.[MemberID], R.[VersionStartTime], R.[VersionEndTime], R.[Status], R.[InnerSort], R.[CreatorID], R.[CreatorName],O.Name,O.DisplayName
FROM [SC].[SchemaMembersSnapshot] R LEFT JOIN SC.SchemaObjectSnapshot_Current O ON R.MemberID = 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);
        }
Esempio n. 2
0
		public IEnumerable<MembershipHistoryEntry> GetMembershipHistoryEntries(string objId)
		{
			MembershipHistoryEntryCollection list = new MembershipHistoryEntryCollection();

			WhereSqlClauseBuilder where1 = new WhereSqlClauseBuilder();
			where1.AppendItem("MemberID", objId);
			WhereSqlClauseBuilder where2 = new WhereSqlClauseBuilder();
			where2.AppendItem("ContainerID", objId);

			var sql = string.Format(@"SELECT R.[ContainerID], R.[MemberID], R.[VersionStartTime], R.[VersionEndTime], R.[Status], R.[InnerSort], R.[CreatorID], R.[CreatorName],O.Name,O.DisplayName
FROM [SC].[SchemaMembersSnapshot] R LEFT JOIN SC.SchemaObjectSnapshot_Current O ON R.ContainerID = O.ID
WHERE O.VersionStartTime <=R.VersionStartTime AND (O.VersionEndTime IS NULL OR O.VersionEndTime>=R.VersionEndTime) AND {0}
UNION
SELECT R.[ContainerID], R.[MemberID], R.[VersionStartTime], R.[VersionEndTime], R.[Status], R.[InnerSort], R.[CreatorID], R.[CreatorName],O.Name,O.DisplayName
FROM [SC].[SchemaMembersSnapshot] R LEFT JOIN SC.SchemaObjectSnapshot_Current O ON R.MemberID = 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;
		}