예제 #1
0
 public VariableImpl(AspNetCore.ReportingServices.ReportIntermediateFormat.Variable variable, IndexedExprHost variableValuesHost, ObjectType parentObjectType, string parentObjectName, AspNetCore.ReportingServices.RdlExpressions.ReportRuntime reportRT, int indexInCollection)
 {
     Global.Tracer.Assert(reportRT != null && null != variable, "(null != reportRT && null != variable)");
     this.m_variableDef       = variable;
     this.m_exprHost          = variableValuesHost;
     this.m_parentObjectType  = parentObjectType;
     this.m_parentObjectName  = parentObjectName;
     this.m_reportRT          = reportRT;
     this.m_indexInCollection = indexInCollection;
 }
 public void SetUpdatedVariableValues(OnDemandProcessingContext odpContext, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance)
 {
     if (this.m_updatedVariableValues != null)
     {
         string key = odpContext.SubReportUniqueName ?? "Report";
         UpdatedVariableValues updatedVariableValues = default(UpdatedVariableValues);
         if (this.m_updatedVariableValues.TryGetValue(key, out updatedVariableValues))
         {
             Dictionary <int, object> variableValues = updatedVariableValues.VariableValues;
             List <AspNetCore.ReportingServices.ReportIntermediateFormat.Variable> variables = odpContext.ReportDefinition.Variables;
             foreach (KeyValuePair <int, object> item in variableValues)
             {
                 reportInstance.VariableValues[item.Key] = item.Value;
                 AspNetCore.ReportingServices.ReportIntermediateFormat.Variable variable = variables[item.Key];
                 VariableImpl cachedVariableObj = variable.GetCachedVariableObj(odpContext);
                 cachedVariableObj.SetValue(item.Value, true);
             }
         }
     }
 }