private void CreateInstance(ScopeInstance parentInstance, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportItem reportItem, OnDemandProcessingContext odpContext, IReference <IScope> owner) { if (reportItem != null) { if (reportItem.IsDataRegion) { AspNetCore.ReportingServices.ReportIntermediateFormat.DataRegion dataRegion = (AspNetCore.ReportingServices.ReportIntermediateFormat.DataRegion)reportItem; RuntimeDataRegionObjReference dataRegionObjRef = this.m_dataRegionObjs[dataRegion.IndexInCollection]; RuntimeRICollection.CreateDataRegionInstance(parentInstance, odpContext, dataRegionObjRef); } else { switch (reportItem.ObjectType) { case AspNetCore.ReportingServices.ReportProcessing.ObjectType.Subreport: this.CreateSubReportInstance((AspNetCore.ReportingServices.ReportIntermediateFormat.SubReport)reportItem, parentInstance, odpContext, owner); break; case AspNetCore.ReportingServices.ReportProcessing.ObjectType.Rectangle: { AspNetCore.ReportingServices.ReportIntermediateFormat.Rectangle rectangle = (AspNetCore.ReportingServices.ReportIntermediateFormat.Rectangle)reportItem; this.CreateInstances(parentInstance, odpContext, owner, rectangle.ReportItems.ComputedReportItems); break; } case AspNetCore.ReportingServices.ReportProcessing.ObjectType.Map: { Map map = (Map)reportItem; List <MapDataRegion> mapDataRegions = map.MapDataRegions; for (int i = 0; i < mapDataRegions.Count; i++) { this.CreateInstance(parentInstance, mapDataRegions[i], odpContext, owner); } break; } } } } }
protected void DetailHandleSortFilterEvent(AspNetCore.ReportingServices.ReportIntermediateFormat.DataRegion dataRegionDef, IReference <IScope> outerScope, bool isColumnAxis, int rowIndex) { using (outerScope.PinValue()) { IScope scope = outerScope.Value(); List <IReference <RuntimeSortFilterEventInfo> > runtimeSortFilterInfo = this.m_odpContext.RuntimeSortFilterInfo; if (runtimeSortFilterInfo != null && dataRegionDef.SortFilterSourceDetailScopeInfo != null && !scope.TargetForNonDetailSort) { int count = runtimeSortFilterInfo.Count; for (int i = 0; i < count; i++) { IReference <RuntimeSortFilterEventInfo> reference = runtimeSortFilterInfo[i]; using (reference.PinValue()) { RuntimeSortFilterEventInfo runtimeSortFilterEventInfo = reference.Value(); if (runtimeSortFilterEventInfo.EventSource.ContainingScopes != null && 0 < runtimeSortFilterEventInfo.EventSource.ContainingScopes.Count && -1 != dataRegionDef.SortFilterSourceDetailScopeInfo[i] && scope.TargetScopeMatched(i, false) && this.m_odpContext.ReportObjectModel.FieldsImpl.GetRowIndex() == dataRegionDef.SortFilterSourceDetailScopeInfo[i]) { if (runtimeSortFilterEventInfo.EventSource.ContainingScopes.LastEntry == null) { AspNetCore.ReportingServices.ReportIntermediateFormat.ReportItem parent = runtimeSortFilterEventInfo.EventSource.Parent; if (runtimeSortFilterEventInfo.EventSource.IsSubReportTopLevelScope) { while (parent != null && !(parent is AspNetCore.ReportingServices.ReportIntermediateFormat.SubReport)) { parent = parent.Parent; } Global.Tracer.Assert(parent is AspNetCore.ReportingServices.ReportIntermediateFormat.SubReport, "(parent is SubReport)"); parent = parent.Parent; } if (parent == dataRegionDef) { runtimeSortFilterEventInfo.SetEventSourceScope(isColumnAxis, this.SelfReference, rowIndex); } } runtimeSortFilterEventInfo.AddDetailScopeInfo(isColumnAxis, this.SelfReference, rowIndex); } } } } } }
public static ReportItem CreateItem(IReportScope reportScope, IDefinitionPath parentDefinitionPath, int indexIntoParentCollectionDef, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportItem reportItemDef, RenderingContext renderingContext) { ReportItem reportItem = null; switch (reportItemDef.ObjectType) { case ObjectType.Textbox: reportItem = new TextBox(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, (AspNetCore.ReportingServices.ReportIntermediateFormat.TextBox)reportItemDef, renderingContext); break; case ObjectType.Rectangle: reportItem = new Rectangle(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, (AspNetCore.ReportingServices.ReportIntermediateFormat.Rectangle)reportItemDef, renderingContext); break; case ObjectType.Image: reportItem = new Image(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, (AspNetCore.ReportingServices.ReportIntermediateFormat.Image)reportItemDef, renderingContext); break; case ObjectType.Line: reportItem = new Line(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, (AspNetCore.ReportingServices.ReportIntermediateFormat.Line)reportItemDef, renderingContext); break; case ObjectType.Subreport: reportItem = new SubReport(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, (AspNetCore.ReportingServices.ReportIntermediateFormat.SubReport)reportItemDef, renderingContext); break; case ObjectType.Tablix: reportItem = new Tablix(parentDefinitionPath, indexIntoParentCollectionDef, (AspNetCore.ReportingServices.ReportIntermediateFormat.Tablix)reportItemDef, renderingContext); break; case ObjectType.Chart: reportItem = new Chart(parentDefinitionPath, indexIntoParentCollectionDef, (AspNetCore.ReportingServices.ReportIntermediateFormat.Chart)reportItemDef, renderingContext); break; case ObjectType.GaugePanel: reportItem = new GaugePanel(parentDefinitionPath, indexIntoParentCollectionDef, (AspNetCore.ReportingServices.ReportIntermediateFormat.GaugePanel)reportItemDef, renderingContext); break; case ObjectType.CustomReportItem: { AspNetCore.ReportingServices.ReportIntermediateFormat.CustomReportItem customReportItem = (AspNetCore.ReportingServices.ReportIntermediateFormat.CustomReportItem)reportItemDef; reportItem = new CustomReportItem(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, customReportItem, renderingContext); if (!((CustomReportItem)reportItem).Initialize(renderingContext)) { reportItem = ReportItem.CreateItem(reportScope, parentDefinitionPath, customReportItem.AltReportItemIndexInParentCollectionDef, customReportItem.AltReportItem, renderingContext); reportItem.ReportItemDef.RepeatedSibling = customReportItem.RepeatedSibling; reportItem.ReportItemDef.RepeatWith = customReportItem.RepeatWith; ReportItem.ProcessAlternateCustomReportItem(customReportItem, reportItem, renderingContext); } break; } case ObjectType.Map: reportItem = new Map(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, (AspNetCore.ReportingServices.ReportIntermediateFormat.Map)reportItemDef, renderingContext); break; } return(reportItem); }
public ReportItem(IReportScope reportScope, IDefinitionPath parentDefinitionPath, int indexIntoParentCollectionDef, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportItem reportItemDef, RenderingContext renderingContext) : base(reportScope, parentDefinitionPath, reportItemDef, renderingContext) { this.m_definitionPath = DefinitionPathConstants.GetCollectionDefinitionPath(parentDefinitionPath, indexIntoParentCollectionDef); base.m_reportItemDef.ROMScopeInstance = this.ReportScope.ReportScopeInstance; }
public DataRegion(IDefinitionPath parentDefinitionPath, int indexIntoParentCollectionDef, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportItem reportItemDef, RenderingContext renderingContext) : base(null, parentDefinitionPath, indexIntoParentCollectionDef, reportItemDef, renderingContext) { }
public Rectangle(IReportScope reportScope, IDefinitionPath parentDefinitionPath, int indexIntoParentCollectionDef, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportItem reportItemDef, RenderingContext renderingContext) : base(reportScope, parentDefinitionPath, indexIntoParentCollectionDef, reportItemDef, renderingContext) { }
public bool PopulateRuntimeSortFilterEventInfo(OnDemandProcessingContext odpContext, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet myDataSet) { if (odpContext.TopLevelContext.UserSortFilterInfo != null && odpContext.TopLevelContext.UserSortFilterInfo.OdpSortInfo != null && odpContext.TopLevelContext.OldSortFilterEventInfo != null) { if (-1 != this.m_dataSetGlobalID) { return(false); } this.m_runtimeSortFilterInfo = null; EventInformation.OdpSortEventInfo odpSortInfo = odpContext.TopLevelContext.UserSortFilterInfo.OdpSortInfo; for (int i = 0; i < odpSortInfo.Count; i++) { string uniqueNameAt = odpSortInfo.GetUniqueNameAt(i); AspNetCore.ReportingServices.ReportIntermediateFormat.SortFilterEventInfo sortFilterEventInfo = odpContext.TopLevelContext.OldSortFilterEventInfo[uniqueNameAt]; if (sortFilterEventInfo != null && sortFilterEventInfo.EventSource.UserSort != null) { int num = sortFilterEventInfo.EventSource.UserSort.SubReportDataSetGlobalId; if (-1 == num) { num = sortFilterEventInfo.EventSource.UserSort.DataSet.GlobalID; } if (num == myDataSet.GlobalID) { if (this.m_runtimeSortFilterInfo == null) { this.m_runtimeSortFilterInfo = new List <IReference <RuntimeSortFilterEventInfo> >(); } RuntimeSortFilterEventInfo runtimeSortFilterEventInfo = new RuntimeSortFilterEventInfo(sortFilterEventInfo.EventSource, uniqueNameAt, odpSortInfo.GetSortDirectionAt(i), sortFilterEventInfo.EventSourceScopeInfo, odpContext, (this.m_currentContainingScope == null) ? 1 : this.m_currentContainingScope.Value().Depth); runtimeSortFilterEventInfo.SelfReference.UnPinValue(); this.m_runtimeSortFilterInfo.Add(runtimeSortFilterEventInfo.SelfReference); } } } if (this.m_runtimeSortFilterInfo != null) { int count = this.m_runtimeSortFilterInfo.Count; for (int j = 0; j < count; j++) { IReference <RuntimeSortFilterEventInfo> reference = this.m_runtimeSortFilterInfo[j]; using (reference.PinValue()) { RuntimeSortFilterEventInfo runtimeSortFilterEventInfo2 = reference.Value(); IInScopeEventSource eventSource = runtimeSortFilterEventInfo2.EventSource; AspNetCore.ReportingServices.ReportIntermediateFormat.ISortFilterScope sortExpressionScope = eventSource.UserSort.SortExpressionScope; if (sortExpressionScope != null) { sortExpressionScope.IsSortFilterExpressionScope = this.SetSortFilterInfo(sortExpressionScope.IsSortFilterExpressionScope, count, j); } AspNetCore.ReportingServices.ReportIntermediateFormat.ISortFilterScope sortTarget = eventSource.UserSort.SortTarget; if (sortTarget != null) { sortTarget.IsSortFilterTarget = this.SetSortFilterInfo(sortTarget.IsSortFilterTarget, count, j); } if (eventSource.ContainingScopes != null && 0 < eventSource.ContainingScopes.Count) { int num2 = 0; int num3 = 0; for (int k = 0; k < eventSource.ContainingScopes.Count; k++) { AspNetCore.ReportingServices.ReportIntermediateFormat.Grouping grouping = eventSource.ContainingScopes[k]; if (grouping == null || !grouping.IsDetail) { List <object> list = runtimeSortFilterEventInfo2.SortSourceScopeInfo[num2]; if (grouping != null) { if (grouping.SortFilterScopeInfo == null) { grouping.SortFilterScopeInfo = new List <object> [count]; for (int l = 0; l < count; l++) { grouping.SortFilterScopeInfo[l] = null; } grouping.SortFilterScopeIndex = new int[count]; for (int m = 0; m < count; m++) { grouping.SortFilterScopeIndex[m] = -1; } } grouping.SortFilterScopeInfo[j] = list; grouping.SortFilterScopeIndex[j] = num2; } else { List <AspNetCore.ReportingServices.ReportIntermediateFormat.SubReport> detailScopeSubReports = eventSource.UserSort.DetailScopeSubReports; AspNetCore.ReportingServices.ReportIntermediateFormat.ReportItem reportItem = (detailScopeSubReports == null || num3 >= detailScopeSubReports.Count) ? eventSource.Parent : detailScopeSubReports[num3++].Parent; while (reportItem != null && !reportItem.IsDataRegion) { reportItem = reportItem.Parent; } Global.Tracer.Assert(reportItem.IsDataRegion, "(parent.IsDataRegion)"); AspNetCore.ReportingServices.ReportIntermediateFormat.DataRegion dataRegion = (AspNetCore.ReportingServices.ReportIntermediateFormat.DataRegion)reportItem; if (dataRegion.SortFilterSourceDetailScopeInfo == null) { dataRegion.SortFilterSourceDetailScopeInfo = new int[count]; for (int n = 0; n < count; n++) { dataRegion.SortFilterSourceDetailScopeInfo[n] = -1; } } Global.Tracer.Assert(list != null && 1 == list.Count, "(null != scopeValues && 1 == scopeValues.Count)"); dataRegion.SortFilterSourceDetailScopeInfo[j] = (int)list[0]; } num2++; } } } AspNetCore.ReportingServices.ReportIntermediateFormat.GroupingList groupsInSortTarget = eventSource.UserSort.GroupsInSortTarget; if (groupsInSortTarget != null) { for (int num5 = 0; num5 < groupsInSortTarget.Count; num5++) { groupsInSortTarget[num5].NeedScopeInfoForSortFilterExpression = this.SetSortFilterInfo(groupsInSortTarget[num5].NeedScopeInfoForSortFilterExpression, count, j); } } List <int> peerSortFilters = eventSource.GetPeerSortFilters(false); if (peerSortFilters != null && peerSortFilters.Count != 0) { if (runtimeSortFilterEventInfo2.PeerSortFilters == null) { runtimeSortFilterEventInfo2.PeerSortFilters = new Hashtable(); } for (int num6 = 0; num6 < peerSortFilters.Count; num6++) { if (eventSource.ID != peerSortFilters[num6]) { runtimeSortFilterEventInfo2.PeerSortFilters.Add(peerSortFilters[num6], null); } } } } } } return(true); } return(false); }
public void AddReportItemWithRepeatWithToUpdate(AspNetCore.ReportingServices.ReportIntermediateFormat.ReportItem reportItem) { this.m_reportItemsWithRepeatWithToUpdate.Add(reportItem); }
public ReportElement(IReportScope reportScope, IDefinitionPath parentDefinitionPath, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportItem reportItemDef, RenderingContext renderingContext) { this.m_reportScope = reportScope; this.m_parentDefinitionPath = parentDefinitionPath; this.m_reportItemDef = reportItemDef; this.m_renderingContext = renderingContext; this.m_isOldSnapshot = false; }