internal ReportItem(Microsoft.ReportingServices.ReportProcessing.CustomReportItem criDef, CustomReportItemInstance criInstance, CustomReportItemInstanceInfo instanceInfo) { m_members = new ReportItemRendering(); Rendering.m_reportItemDef = criDef; Rendering.m_reportItemInstance = criInstance; Rendering.m_reportItemInstanceInfo = instanceInfo; m_intUniqueName = criInstance.UniqueName; }
internal ImageMapAreaInstance Deconstruct(Microsoft.ReportingServices.ReportProcessing.CustomReportItem context) { Global.Tracer.Assert(context != null); ImageMapAreaInstance imageMapAreaInstance = new ImageMapAreaInstance(context.ProcessingContext); imageMapAreaInstance.ID = m_id; imageMapAreaInstance.Shape = m_shape; imageMapAreaInstance.Coordinates = m_coordinates; if (m_actionInfo != null) { Microsoft.ReportingServices.ReportProcessing.Action action = null; m_actionInfo.Deconstruct(imageMapAreaInstance.UniqueName, ref action, out ActionInstance actionInstance, context); imageMapAreaInstance.Action = action; imageMapAreaInstance.ActionInstance = actionInstance; } return(imageMapAreaInstance); }
internal ImageMapAreaInstanceList Deconstruct(Microsoft.ReportingServices.ReportProcessing.ReportProcessing.ProcessingContext processingContext, Microsoft.ReportingServices.ReportProcessing.CustomReportItem context) { Global.Tracer.Assert(context != null && processingContext != null); if (m_list == null || m_list.Count == 0) { return(null); } int count = m_list.Count; ImageMapAreaInstanceList imageMapAreaInstanceList = new ImageMapAreaInstanceList(count); for (int i = 0; i < count; i++) { ImageMapAreaInstance value = ((ImageMapArea)m_list[i]).Deconstruct(context); imageMapAreaInstanceList.Add(value); } return(imageMapAreaInstanceList); }
internal void Deconstruct(int uniqueName, ref Microsoft.ReportingServices.ReportProcessing.Action action, out ActionInstance actionInstance, Microsoft.ReportingServices.ReportProcessing.CustomReportItem context) { Global.Tracer.Assert(IsCustomControl && context != null); actionInstance = null; if (Processing.m_actionCollection == null || Processing.m_actionCollection.Count == 0) { if (action == null) { return; } Global.Tracer.Assert(action.ActionItems != null && 0 < action.ActionItems.Count); int count = action.ActionItems.Count; actionInstance = new ActionInstance(); actionInstance.UniqueName = uniqueName; actionInstance.ActionItemsValues = new ActionItemInstanceList(count); for (int i = 0; i < count; i++) { ActionItemInstance actionItemInstance = new ActionItemInstance(); if (action.ActionItems[i].DrillthroughParameters != null) { int count2 = action.ActionItems[i].DrillthroughParameters.Count; actionItemInstance.DrillthroughParametersValues = new object[count2]; actionItemInstance.DrillthroughParametersOmits = new BoolList(count2); } actionInstance.ActionItemsValues.Add(actionItemInstance); } return; } bool flag = action == null; int count3 = Processing.m_actionCollection.Count; Global.Tracer.Assert(1 <= count3); if (flag) { action = new Microsoft.ReportingServices.ReportProcessing.Action(); action.ActionItems = new ActionItemList(count3); action.ComputedActionItemsCount = count3; } else if (count3 != action.ComputedActionItemsCount) { context.ProcessingContext.ErrorContext.Register(ProcessingErrorCode.rsCRIRenderItemProperties, Severity.Error, context.CustomObjectType, context.CustomObjectName, context.Type, context.Name, "Actions", action.ComputedActionItemsCount.ToString(CultureInfo.InvariantCulture), count3.ToString(CultureInfo.InvariantCulture)); throw new ReportProcessingException(context.ProcessingContext.ErrorContext.Messages); } actionInstance = new ActionInstance(); actionInstance.UniqueName = uniqueName; actionInstance.ActionItemsValues = new ActionItemInstanceList(count3); for (int j = 0; j < count3; j++) { Action action2 = Processing.m_actionCollection[j]; ActionItem actionItem = null; if (flag) { actionItem = new ActionItem(); actionItem.ComputedIndex = j; actionItem.Label = new ExpressionInfo(ExpressionInfo.Types.Expression); switch (action2.m_actionType) { case ActionType.HyperLink: actionItem.HyperLinkURL = new ExpressionInfo(ExpressionInfo.Types.Expression); break; case ActionType.DrillThrough: actionItem.DrillthroughReportName = new ExpressionInfo(ExpressionInfo.Types.Expression); if (action2.m_parameters != null && 0 < action2.m_parameters.Count) { int count4 = action2.m_parameters.Count; actionItem.DrillthroughParameters = new ParameterValueList(count4); for (int k = 0; k < count4; k++) { ParameterValue parameterValue = new ParameterValue(); parameterValue.Name = action2.m_parameters.GetKey(k); parameterValue.Omit = new ExpressionInfo(ExpressionInfo.Types.Constant); parameterValue.Omit.BoolValue = false; parameterValue.Value = new ExpressionInfo(ExpressionInfo.Types.Expression); actionItem.DrillthroughParameters.Add(parameterValue); } } break; case ActionType.BookmarkLink: actionItem.BookmarkLink = new ExpressionInfo(ExpressionInfo.Types.Expression); break; } action.ActionItems.Add(actionItem); } else { actionItem = action.ActionItems[j]; } Global.Tracer.Assert(actionItem != null); ActionItemInstance actionItemInstance2 = new ActionItemInstance(); actionItemInstance2.Label = action2.Processing.m_label; switch (action2.m_actionType) { case ActionType.HyperLink: actionItemInstance2.HyperLinkURL = action2.Processing.m_action; break; case ActionType.DrillThrough: actionItemInstance2.DrillthroughReportName = action2.Processing.m_action; if (action2.m_parameters != null) { int count5 = action2.m_parameters.Count; if (actionItem.DrillthroughParameters == null && 0 < count5) { context.ProcessingContext.ErrorContext.Register(ProcessingErrorCode.rsCRIRenderItemProperties, Severity.Error, context.CustomObjectType, context.CustomObjectName, context.Type, context.Name, "Action.DrillthroughParameters", "0", count5.ToString(CultureInfo.InvariantCulture)); throw new ReportProcessingException(context.ProcessingContext.ErrorContext.Messages); } if (count5 != actionItem.DrillthroughParameters.Count) { context.ProcessingContext.ErrorContext.Register(ProcessingErrorCode.rsCRIRenderItemProperties, Severity.Error, context.CustomObjectType, context.CustomObjectName, context.Type, context.Name, "Action.DrillthroughParameters", actionItem.DrillthroughParameters.Count.ToString(CultureInfo.InvariantCulture), count5.ToString(CultureInfo.InvariantCulture)); throw new ReportProcessingException(context.ProcessingContext.ErrorContext.Messages); } Global.Tracer.Assert(0 < count5); actionItemInstance2.DrillthroughParametersValues = new object[count5]; actionItemInstance2.DrillthroughParametersOmits = new BoolList(count5); DrillthroughParameters drillthroughParameters = new DrillthroughParameters(count5); for (int l = 0; l < count5; l++) { actionItemInstance2.DrillthroughParametersValues[l] = action2.m_parameters.GetValues(l); actionItemInstance2.DrillthroughParametersOmits.Add(false); drillthroughParameters.Add(actionItem.DrillthroughParameters[l].Name, actionItemInstance2.DrillthroughParametersValues[l]); } DrillthroughInformation drillthroughInfo = new DrillthroughInformation(actionItemInstance2.DrillthroughReportName, drillthroughParameters, null); string drillthroughId = uniqueName.ToString(CultureInfo.InvariantCulture) + ":" + j.ToString(CultureInfo.InvariantCulture); context.ProcessingContext.DrillthroughInfo.AddDrillthrough(drillthroughId, drillthroughInfo); } break; case ActionType.BookmarkLink: actionItemInstance2.BookmarkLink = action2.Processing.m_action; break; } actionInstance.ActionItemsValues.Add(actionItemInstance2); } Global.Tracer.Assert(action != null && actionInstance != null && Processing.m_actionCollection != null); Microsoft.ReportingServices.ReportProcessing.Style style = action.StyleClass; object[] styleAttributeValues = null; Microsoft.ReportingServices.ReportProcessing.CustomReportItem.DeconstructRenderStyle(flag, Processing.m_sharedStyles, Processing.m_nonSharedStyles, ref style, out styleAttributeValues, context); action.StyleClass = style; actionInstance.StyleAttributeValues = styleAttributeValues; }
internal CustomReportItem(Microsoft.ReportingServices.ReportProcessing.CustomReportItem criDef, CustomReportItemInstance criInstance, CustomReportItemInstanceInfo instanceInfo) : base(criDef, criInstance, instanceInfo) { m_isProcessing = true; }
internal static ReportItem CreateItem(string uniqueName, Microsoft.ReportingServices.ReportProcessing.ReportItem reportItemDef, ReportItemInstance reportItemInstance, RenderingContext renderingContext, NonComputedUniqueNames nonComputedUniqueNames) { if (reportItemDef == null) { return(null); } Global.Tracer.Assert(renderingContext != null); ReportItem reportItem = null; int intUniqueName = 0; NonComputedUniqueNames[] childrenNonComputedUniqueNames = null; if (reportItemInstance != null) { intUniqueName = reportItemInstance.UniqueName; } else if (nonComputedUniqueNames != null) { intUniqueName = nonComputedUniqueNames.UniqueName; childrenNonComputedUniqueNames = nonComputedUniqueNames.ChildrenUniqueNames; } if (reportItemDef is Microsoft.ReportingServices.ReportProcessing.Line) { Microsoft.ReportingServices.ReportProcessing.Line reportItemDef2 = (Microsoft.ReportingServices.ReportProcessing.Line)reportItemDef; LineInstance reportItemInstance2 = (LineInstance)reportItemInstance; reportItem = new Line(uniqueName, intUniqueName, reportItemDef2, reportItemInstance2, renderingContext); } else if (reportItemDef is Microsoft.ReportingServices.ReportProcessing.CheckBox) { Microsoft.ReportingServices.ReportProcessing.CheckBox reportItemDef3 = (Microsoft.ReportingServices.ReportProcessing.CheckBox)reportItemDef; CheckBoxInstance reportItemInstance3 = (CheckBoxInstance)reportItemInstance; reportItem = new CheckBox(uniqueName, intUniqueName, reportItemDef3, reportItemInstance3, renderingContext); } else if (reportItemDef is Microsoft.ReportingServices.ReportProcessing.Image) { Microsoft.ReportingServices.ReportProcessing.Image reportItemDef4 = (Microsoft.ReportingServices.ReportProcessing.Image)reportItemDef; ImageInstance reportItemInstance4 = (ImageInstance)reportItemInstance; reportItem = new Image(uniqueName, intUniqueName, reportItemDef4, reportItemInstance4, renderingContext); } else if (reportItemDef is Microsoft.ReportingServices.ReportProcessing.TextBox) { Microsoft.ReportingServices.ReportProcessing.TextBox reportItemDef5 = (Microsoft.ReportingServices.ReportProcessing.TextBox)reportItemDef; TextBoxInstance reportItemInstance5 = (TextBoxInstance)reportItemInstance; reportItem = new TextBox(uniqueName, intUniqueName, reportItemDef5, reportItemInstance5, renderingContext); } else if (reportItemDef is Microsoft.ReportingServices.ReportProcessing.Rectangle) { Microsoft.ReportingServices.ReportProcessing.Rectangle reportItemDef6 = (Microsoft.ReportingServices.ReportProcessing.Rectangle)reportItemDef; RectangleInstance reportItemInstance6 = (RectangleInstance)reportItemInstance; reportItem = new Rectangle(uniqueName, intUniqueName, reportItemDef6, reportItemInstance6, renderingContext, childrenNonComputedUniqueNames); } else if (reportItemDef is Microsoft.ReportingServices.ReportProcessing.ActiveXControl) { Microsoft.ReportingServices.ReportProcessing.ActiveXControl reportItemDef7 = (Microsoft.ReportingServices.ReportProcessing.ActiveXControl)reportItemDef; ActiveXControlInstance reportItemInstance7 = (ActiveXControlInstance)reportItemInstance; reportItem = new ActiveXControl(uniqueName, intUniqueName, reportItemDef7, reportItemInstance7, renderingContext); } else if (reportItemDef is Microsoft.ReportingServices.ReportProcessing.SubReport) { Microsoft.ReportingServices.ReportProcessing.SubReport subReport = (Microsoft.ReportingServices.ReportProcessing.SubReport)reportItemDef; SubReportInstance subReportInstance = (SubReportInstance)reportItemInstance; bool processedWithError = false; Report innerReport; if (Microsoft.ReportingServices.ReportProcessing.SubReport.Status.Retrieved != subReport.RetrievalStatus) { innerReport = null; processedWithError = true; } else { if (subReport.ReportContext == null && renderingContext.CurrentReportContext != null) { subReport.ReportContext = renderingContext.CurrentReportContext.GetSubreportContext(subReport.ReportPath); } ICatalogItemContext reportContext = subReport.ReportContext; RenderingContext renderingContext2 = new RenderingContext(renderingContext, subReport.Uri, subReport.Report.EmbeddedImages, subReport.Report.ImageStreamNames, reportContext); if (subReportInstance == null) { innerReport = new Report(subReport.Report, null, renderingContext2, subReport.ReportName, subReport.Description, null); } else if (subReportInstance.ReportInstance == null) { processedWithError = true; innerReport = new Report(subReport.Report, null, renderingContext2, subReport.ReportName, subReport.Description, null); } else { innerReport = new Report(subReport.Report, subReportInstance.ReportInstance, renderingContext2, subReport.ReportName, subReport.Description, null); } } reportItem = new SubReport(intUniqueName, subReport, subReportInstance, renderingContext, innerReport, processedWithError); } else if (reportItemDef is Microsoft.ReportingServices.ReportProcessing.List) { Microsoft.ReportingServices.ReportProcessing.List reportItemDef8 = (Microsoft.ReportingServices.ReportProcessing.List)reportItemDef; ListInstance reportItemInstance8 = (ListInstance)reportItemInstance; reportItem = new List(intUniqueName, reportItemDef8, reportItemInstance8, renderingContext); } else if (reportItemDef is Microsoft.ReportingServices.ReportProcessing.Matrix) { Microsoft.ReportingServices.ReportProcessing.Matrix reportItemDef9 = (Microsoft.ReportingServices.ReportProcessing.Matrix)reportItemDef; MatrixInstance reportItemInstance9 = (MatrixInstance)reportItemInstance; reportItem = new Matrix(intUniqueName, reportItemDef9, reportItemInstance9, renderingContext); } else if (reportItemDef is Microsoft.ReportingServices.ReportProcessing.Table) { Microsoft.ReportingServices.ReportProcessing.Table reportItemDef10 = (Microsoft.ReportingServices.ReportProcessing.Table)reportItemDef; TableInstance reportItemInstance10 = (TableInstance)reportItemInstance; reportItem = new Table(intUniqueName, reportItemDef10, reportItemInstance10, renderingContext); } else if (reportItemDef is Microsoft.ReportingServices.ReportProcessing.OWCChart) { Microsoft.ReportingServices.ReportProcessing.OWCChart reportItemDef11 = (Microsoft.ReportingServices.ReportProcessing.OWCChart)reportItemDef; OWCChartInstance reportItemInstance11 = (OWCChartInstance)reportItemInstance; reportItem = new OWCChart(intUniqueName, reportItemDef11, reportItemInstance11, renderingContext); } else if (reportItemDef is Microsoft.ReportingServices.ReportProcessing.Chart) { Microsoft.ReportingServices.ReportProcessing.Chart reportItemDef12 = (Microsoft.ReportingServices.ReportProcessing.Chart)reportItemDef; ChartInstance reportItemInstance12 = (ChartInstance)reportItemInstance; reportItem = new Chart(intUniqueName, reportItemDef12, reportItemInstance12, renderingContext); } else if (reportItemDef is Microsoft.ReportingServices.ReportProcessing.CustomReportItem) { Microsoft.ReportingServices.ReportProcessing.CustomReportItem reportItemDef13 = (Microsoft.ReportingServices.ReportProcessing.CustomReportItem)reportItemDef; CustomReportItemInstance reportItemInstance13 = (CustomReportItemInstance)reportItemInstance; reportItem = new CustomReportItem(uniqueName, intUniqueName, reportItemDef13, reportItemInstance13, renderingContext, childrenNonComputedUniqueNames); if (!renderingContext.NativeAllCRITypes && (renderingContext.NativeCRITypes == null || !renderingContext.NativeCRITypes.ContainsKey(((CustomReportItem)reportItem).Type))) { reportItem = ((CustomReportItem)reportItem).AltReportItem; } } return(reportItem); }