public Sorting(ConstructionPhase phase)
 {
     if (phase == ConstructionPhase.Publishing)
     {
         this.m_sortExpressions = new ExpressionInfoList();
         this.m_sortDirections  = new BoolList();
     }
 }
 public void Add(MatrixHeadingInstance matrixHeadingInstance, ReportProcessing.ProcessingContext pc)
 {
     if (this.m_lastHeadingInstance != null)
     {
         this.m_lastHeadingInstance.InstanceInfo.HeadingSpan = matrixHeadingInstance.InstanceInfo.HeadingCellIndex - this.m_lastHeadingInstance.InstanceInfo.HeadingCellIndex;
         bool          flag             = true;
         MatrixHeading matrixHeadingDef = this.m_lastHeadingInstance.MatrixHeadingDef;
         if (pc.ReportItemsReferenced)
         {
             Matrix matrix = (Matrix)matrixHeadingDef.DataRegionDef;
             if (matrixHeadingDef.IsColumn)
             {
                 if (matrix.ProcessingInnerGrouping == Pivot.ProcessingInnerGroupings.Column)
                 {
                     flag = false;
                 }
             }
             else if (matrix.ProcessingInnerGrouping == Pivot.ProcessingInnerGroupings.Row)
             {
                 flag = false;
             }
         }
         if (flag)
         {
             bool flag2;
             if (this.m_lastHeadingInstance.IsSubtotal)
             {
                 flag2 = this.m_lastHeadingInstance.MatrixHeadingDef.Subtotal.FirstInstance;
                 this.m_lastHeadingInstance.MatrixHeadingDef.Subtotal.FirstInstance = false;
             }
             else
             {
                 BoolList firstHeadingInstances = this.m_lastHeadingInstance.MatrixHeadingDef.FirstHeadingInstances;
                 flag2 = firstHeadingInstances[this.m_lastHeadingInstance.HeadingIndex];
                 firstHeadingInstances[this.m_lastHeadingInstance.HeadingIndex] = false;
             }
             pc.ChunkManager.AddInstance(this.m_lastHeadingInstance.InstanceInfo, this.m_lastHeadingInstance, flag2 || matrixHeadingDef.InFirstPage, pc.InPageSection);
         }
     }
     base.Add(matrixHeadingInstance);
     this.m_lastHeadingInstance = matrixHeadingInstance;
     matrixHeadingInstance.MatrixHeadingDef.InFirstPage = pc.ChunkManager.InFirstPage;
 }
        public ActionItemInstance(ReportProcessing.ProcessingContext pc, ActionItem actionItemDef)
        {
            ParameterValueList drillthroughParameters = actionItemDef.DrillthroughParameters;

            if (drillthroughParameters != null)
            {
                this.m_drillthroughParametersValues = new object[drillthroughParameters.Count];
                this.m_drillthroughParametersOmits  = new BoolList(drillthroughParameters.Count);
                this.m_dataSetTokenIDs = new IntList(drillthroughParameters.Count);
                for (int i = 0; i < drillthroughParameters.Count; i++)
                {
                    if (drillthroughParameters[i].Value != null && drillthroughParameters[i].Value.Type == ExpressionInfo.Types.Token)
                    {
                        this.m_dataSetTokenIDs.Add(drillthroughParameters[i].Value.IntValue);
                    }
                    else
                    {
                        this.m_dataSetTokenIDs.Add(-1);
                    }
                }
            }
        }