public void ResolveReferences(Dictionary <Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType, List <MemberReference> > memberReferencesCollection, Dictionary <int, IReferenceable> referenceableItems) { if (!memberReferencesCollection.TryGetValue(m_Declaration.ObjectType, out List <MemberReference> value)) { return; } foreach (MemberReference item in value) { switch (item.MemberName) { case MemberName.DataSet: Global.Tracer.Assert(referenceableItems.ContainsKey(item.RefID)); Global.Tracer.Assert(referenceableItems[item.RefID] is DataSet); Global.Tracer.Assert(m_dataSet != (DataSet)referenceableItems[item.RefID]); m_dataSet = (DataSet)referenceableItems[item.RefID]; break; case MemberName.SortTarget: Global.Tracer.Assert(referenceableItems.ContainsKey(item.RefID)); Global.Tracer.Assert(referenceableItems[item.RefID] is ISortFilterScope); Global.Tracer.Assert(m_sortTarget != (ISortFilterScope)referenceableItems[item.RefID]); m_sortTarget = (ISortFilterScope)referenceableItems[item.RefID]; break; case MemberName.DetailScopeSubReports: if (m_detailScopeSubReports == null) { m_detailScopeSubReports = new List <SubReport>(); } Global.Tracer.Assert(referenceableItems.ContainsKey(item.RefID)); Global.Tracer.Assert(referenceableItems[item.RefID] is SubReport); Global.Tracer.Assert(!m_detailScopeSubReports.Contains((SubReport)referenceableItems[item.RefID])); m_detailScopeSubReports.Add((SubReport)referenceableItems[item.RefID]); break; case MemberName.SortExpressionScope: Global.Tracer.Assert(referenceableItems.ContainsKey(item.RefID)); Global.Tracer.Assert(referenceableItems[item.RefID] is ISortFilterScope); Global.Tracer.Assert(m_sortExpressionScope != (ISortFilterScope)referenceableItems[item.RefID]); m_sortExpressionScope = (ISortFilterScope)referenceableItems[item.RefID]; break; case MemberName.GroupsInSortTarget: if (m_groupsInSortTarget == null) { m_groupsInSortTarget = new GroupingList(); } Global.Tracer.Assert(referenceableItems.ContainsKey(item.RefID)); Global.Tracer.Assert(referenceableItems[item.RefID] is Grouping); Global.Tracer.Assert(!m_groupsInSortTarget.Contains((Grouping)referenceableItems[item.RefID])); m_groupsInSortTarget.Add((Grouping)referenceableItems[item.RefID]); break; default: Global.Tracer.Assert(condition: false); break; } } }
public override void ResolveReferences(Dictionary <Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType, List <MemberReference> > memberReferencesCollection, Dictionary <int, IReferenceable> referenceableItems) { base.ResolveReferences(memberReferencesCollection, referenceableItems); if (!memberReferencesCollection.TryGetValue(m_Declaration.ObjectType, out List <MemberReference> value)) { return; } foreach (MemberReference item in value) { switch (item.MemberName) { case MemberName.ContainingScopes: if (m_containingScopes == null) { m_containingScopes = new GroupingList(); } if (item.RefID != -2) { Global.Tracer.Assert(referenceableItems.ContainsKey(item.RefID)); Global.Tracer.Assert(referenceableItems[item.RefID] is Grouping); Global.Tracer.Assert(!m_containingScopes.Contains((Grouping)referenceableItems[item.RefID])); m_containingScopes.Add((Grouping)referenceableItems[item.RefID]); } else { m_containingScopes.Add(null); } break; case MemberName.RecursiveMember: { if (referenceableItems.TryGetValue(item.RefID, out IReferenceable value2)) { m_recursiveMember = (value2 as TablixMember); } break; } default: Global.Tracer.Assert(condition: false); break; } } }
internal new GroupingList Clone() { int count = Count; GroupingList groupingList = new GroupingList(count); for (int i = 0; i < count; i++) { groupingList.Add(this[i]); } return(groupingList); }
internal object PublishClone(AutomaticSubtotalContext context, ReportHierarchyNode owner) { int count = Count; GroupingList groupingList = new GroupingList(count); for (int i = 0; i < count; i++) { groupingList.Add(this[i].PublishClone(context, owner)); } return(groupingList); }
internal override void InitializeRVDirectionDependentItems(InitializationContext context) { m_containingScopes = context.GetContainingScopes(); for (int i = 0; i < m_containingScopes.Count; i++) { m_containingScopes[i].SaveGroupExprValues = true; } if (m_isDetailScope) { m_containingScopes.Add(null); } }