public ObjectModelImpl(ObjectModelImpl copy, OnDemandProcessingContext odpContext)
 {
     this.m_odpContext    = odpContext;
     this.m_currentFields = new FieldsContext(this);
     this.m_parameters    = copy.m_parameters;
     this.m_globals       = new GlobalsImpl(odpContext);
     this.m_user          = new UserImpl(copy.m_user, odpContext);
     this.m_dataSets      = copy.m_dataSets;
     this.m_dataSources   = copy.m_dataSources;
     this.m_reportItems   = null;
     this.m_aggregates    = null;
     this.m_lookups       = null;
 }
 public ObjectModelImpl(OnDemandProcessingContext odpContext)
 {
     this.m_currentFields = null;
     this.m_parameters    = null;
     this.m_globals       = null;
     this.m_user          = null;
     this.m_reportItems   = null;
     this.m_aggregates    = null;
     this.m_lookups       = null;
     this.m_dataSets      = null;
     this.m_dataSources   = null;
     this.m_odpContext    = odpContext;
 }
        public void Initialize(DataSetDefinition dataSetDefinition)
        {
            int size = 0;

            if (dataSetDefinition.DataSetCore != null && dataSetDefinition.DataSetCore.Query != null && dataSetDefinition.DataSetCore.Query.Parameters != null)
            {
                size = dataSetDefinition.DataSetCore.Query.Parameters.Count;
            }
            this.m_parameters = new ParametersImpl(size);
            this.InitializeGlobalAndUserCollections();
            this.m_currentFields = new FieldsContext(this, dataSetDefinition.DataSetCore);
            this.m_dataSources   = new DataSourcesImpl(0);
            this.m_dataSets      = new DataSetsImpl(0);
            this.m_variables     = new VariablesImpl(false);
            this.m_aggregates    = new AggregatesImpl(false, this.m_odpContext);
            this.m_reportItems   = new ReportItemsImpl(false);
            this.m_lookups       = new LookupsImpl();
        }
        public void Initialize(AspNetCore.ReportingServices.ReportIntermediateFormat.Report report, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance)
        {
            int size = 0;

            if (report.Parameters != null)
            {
                size = report.Parameters.Count;
            }
            this.m_parameters = new ParametersImpl(size);
            this.InitializeGlobalAndUserCollections();
            this.m_currentFields = new FieldsContext(this);
            this.m_dataSources   = new DataSourcesImpl(report.DataSourceCount);
            this.m_dataSets      = new DataSetsImpl(report.DataSetCount);
            this.InitOrUpdateDataSetCollection(report, reportInstance, true);
            this.m_variables   = new VariablesImpl(false);
            this.m_aggregates  = new AggregatesImpl(false, this.m_odpContext);
            this.m_reportItems = new ReportItemsImpl(false);
            this.m_lookups     = new LookupsImpl();
        }
		public override void Add(string textboxName, object textboxValue)
		{
			if (textboxName == null)
			{
				throw new RenderingObjectModelException(ProcessingErrorCode.rsInvalidOperation);
			}
			if (this.m_processingContext.ReportItemsReferenced)
			{
				AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.TextBoxImpl textBoxImpl = (AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.TextBoxImpl)((ReportItems)this.m_processingContext.ReportObjectModel.ReportItemsImpl)[textboxName];
				if (textBoxImpl != null)
				{
					textBoxImpl.SetResult(new AspNetCore.ReportingServices.RdlExpressions.VariantResult(false, textboxValue));
				}
				ReportSection reportSection = default(ReportSection);
				AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl aggregatesImpl = default(AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl);
				if (this.m_reportItemToReportSection.TryGetValue(textboxName, out reportSection) && reportSection.PageAggregatesOverReportItems.TryGetValue(textboxName, out aggregatesImpl))
				{
					foreach (AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj @object in aggregatesImpl.Objects)
					{
						@object.Update();
					}
				}
			}
		}
		private void PageInit(ReportSection section)
		{
			AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.ObjectModelImpl reportObjectModel = this.m_processingContext.ReportObjectModel;
			AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl aggregatesImpl = reportObjectModel.AggregatesImpl;
			Global.Tracer.Assert(section.BodyItemsForHeadFoot != null, "Missing cached BodyItemsForHeadFoot collection");
			Global.Tracer.Assert(section.PageSectionItemsForHeadFoot != null, "Missing cached PageSectionItemsForHeadFoot collection");
			section.BodyItemsForHeadFoot.ResetAll(default(AspNetCore.ReportingServices.RdlExpressions.VariantResult));
			section.PageSectionItemsForHeadFoot.ResetAll();
			reportObjectModel.GlobalsImpl.SetPageNumbers(base.m_currentPageNumber, base.m_totalPages, base.m_currentOverallPageNumber, base.m_overallTotalPages);
			reportObjectModel.GlobalsImpl.SetPageName(base.m_pageName);
			AspNetCore.ReportingServices.ReportIntermediateFormat.Report reportDef = base.m_romReport.ReportDef;
			AspNetCore.ReportingServices.ReportIntermediateFormat.ReportSection sectionDef = section.SectionDef;
			AspNetCore.ReportingServices.ReportIntermediateFormat.Page page = sectionDef.Page;
			section.PageAggregatesOverReportItems = new Dictionary<string, AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl>();
			this.m_processingContext.ReportObjectModel.ReportItemsImpl.SpecialMode = true;
			if (page.PageAggregates != null)
			{
				for (int i = 0; i < page.PageAggregates.Count; i++)
				{
					AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo dataAggregateInfo = page.PageAggregates[i];
					aggregatesImpl.Remove(dataAggregateInfo);
					dataAggregateInfo.ExprHostInitialized = false;
					AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj dataAggregateObj = new AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj(dataAggregateInfo, this.m_processingContext);
					object[] array = default(object[]);
					DataFieldStatus dataFieldStatus = default(DataFieldStatus);
					dataAggregateObj.EvaluateParameters(out array, out dataFieldStatus);
					string specialModeIndex = reportObjectModel.ReportItemsImpl.GetSpecialModeIndex();
					if (specialModeIndex == null)
					{
						aggregatesImpl.Add(dataAggregateObj);
					}
					else
					{
						AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl aggregatesImpl2 = default(AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl);
						if (!section.PageAggregatesOverReportItems.TryGetValue(specialModeIndex, out aggregatesImpl2))
						{
							aggregatesImpl2 = new AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl(this.m_processingContext);
							section.PageAggregatesOverReportItems.Add(specialModeIndex, aggregatesImpl2);
						}
						aggregatesImpl2.Add(dataAggregateObj);
						this.m_reportItemToReportSection[specialModeIndex] = section;
					}
					dataAggregateObj.Init();
				}
			}
			reportObjectModel.ReportItemsImpl.SpecialMode = false;
			AspNetCore.ReportingServices.ReportIntermediateFormat.PageSection rifObject = null;
			IReportScopeInstance romInstance = null;
			if (sectionDef.Page.PageHeader != null)
			{
				rifObject = sectionDef.Page.PageHeader;
				romInstance = section.Page.PageHeader.Instance.ReportScopeInstance;
				section.Page.PageHeader.SetNewContext();
			}
			if (sectionDef.Page.PageFooter != null)
			{
				rifObject = sectionDef.Page.PageFooter;
				romInstance = section.Page.PageFooter.Instance.ReportScopeInstance;
				section.Page.PageFooter.SetNewContext();
			}
			if (sectionDef != null)
			{
				this.m_processingContext.SetupContext(rifObject, romInstance);
			}
		}