Example #1
0
 public bool ValuesAreEqual(ParametersImplWrapper obj)
 {
     ParameterImpl[] collection  = this.m_opdParameters.Collection;
     ParameterImpl[] collection2 = obj.WrappedParametersImpl.Collection;
     if (collection == null)
     {
         if (collection2 == null)
         {
             return(true);
         }
         return(false);
     }
     if (collection2 == null)
     {
         return(false);
     }
     if (collection.Length != collection2.Length)
     {
         return(false);
     }
     for (int i = 0; i < collection.Length; i++)
     {
         if (!collection[i].ValuesAreEqual(collection2[i]))
         {
             return(false);
         }
     }
     return(true);
 }
Example #2
0
        public int GetChunkNameModifierForParamValues(ParametersImpl parameterValues, bool addEntry, ref bool?isShared, out ParametersImpl fullParameterValues)
        {
            if (parameterValues == null)
            {
                parameterValues = new ParametersImpl();
            }
            if (this.m_parameterValuesToInfoIndexMap == null)
            {
                this.m_instanceParameterValues       = new List <ParametersImplWrapper>();
                this.m_parameterValuesToInfoIndexMap = new Dictionary <ParametersImplWrapper, int>(ParametersImplValuesComparer.Instance);
            }
            ParametersImplWrapper parametersImplWrapper = new ParametersImplWrapper(parameterValues);
            int count = default(int);

            if (this.m_parameterValuesToInfoIndexMap.TryGetValue(parametersImplWrapper, out count))
            {
                fullParameterValues = this.m_instanceParameterValues[count].WrappedParametersImpl;
                if (!isShared.HasValue)
                {
                    isShared = true;
                }
            }
            else
            {
                isShared            = false;
                fullParameterValues = parameterValues;
                if (addEntry)
                {
                    count = this.m_instanceParameterValues.Count;
                    this.m_instanceParameterValues.Add(parametersImplWrapper);
                    this.m_parameterValuesToInfoIndexMap.Add(parametersImplWrapper, count);
                }
            }
            return(count);
        }
Example #3
0
        public override void Deserialize(IntermediateFormatReader reader)
        {
            reader.RegisterDeclaration(SubReportInstance.m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.SubReport:
                    this.m_subReportDef = reader.ReadGlobalReference <SubReport>();
                    break;

                case MemberName.Parameters:
                {
                    ParametersImplWrapper parametersImplWrapper = (ParametersImplWrapper)reader.ReadRIFObject();
                    if (parametersImplWrapper != null)
                    {
                        this.m_parameters = parametersImplWrapper.WrappedParametersImpl;
                    }
                    break;
                }

                case MemberName.ReportInstance:
                    this.m_reportInstance = (IReference <ReportInstance>)reader.ReadRIFObject();
                    break;

                case MemberName.DataSetUniqueName:
                    this.m_instanceUniqueName = reader.ReadString();
                    break;

                case MemberName.ThreadCulture:
                    this.m_threadCulture = reader.ReadCultureInfo();
                    break;

                case MemberName.Status:
                    this.m_status = (SubReport.Status)reader.ReadEnum();
                    break;

                case MemberName.ProcessedWithError:
                    this.m_processedWithError = reader.ReadBoolean();
                    break;

                case MemberName.IsInstanceShared:
                {
                    object obj2 = reader.ReadVariant();
                    if (obj2 != null)
                    {
                        this.m_isInstanceShared = (bool)obj2;
                    }
                    break;
                }

                case MemberName.DataChunkNameModifier:
                {
                    object obj = reader.ReadVariant();
                    if (obj != null)
                    {
                        this.m_dataChunkNameModifier = (int)obj;
                    }
                    break;
                }

                default:
                    Global.Tracer.Assert(false);
                    break;
                }
            }
        }