Esempio n. 1
0
        public override object PublishClone(AutomaticSubtotalContext context)
        {
            MapVectorLayer mapVectorLayer2 = context.CurrentMapVectorLayerClone = (MapVectorLayer)base.PublishClone(context);

            mapVectorLayer2.m_ID = context.GenerateID();
            if (this.MapDataRegionName != null)
            {
                mapVectorLayer2.MapDataRegionName = context.GetNewScopeName(this.MapDataRegionName);
            }
            if (this.m_mapBindingFieldPairs != null)
            {
                mapVectorLayer2.m_mapBindingFieldPairs = new List <MapBindingFieldPair>(this.m_mapBindingFieldPairs.Count);
                foreach (MapBindingFieldPair mapBindingFieldPair in this.m_mapBindingFieldPairs)
                {
                    mapVectorLayer2.m_mapBindingFieldPairs.Add((MapBindingFieldPair)mapBindingFieldPair.PublishClone(context));
                }
            }
            if (this.m_mapFieldDefinitions != null)
            {
                mapVectorLayer2.m_mapFieldDefinitions = new List <MapFieldDefinition>(this.m_mapFieldDefinitions.Count);
                foreach (MapFieldDefinition mapFieldDefinition in this.m_mapFieldDefinitions)
                {
                    mapVectorLayer2.m_mapFieldDefinitions.Add((MapFieldDefinition)mapFieldDefinition.PublishClone(context));
                }
            }
            if (this.m_mapSpatialData != null)
            {
                mapVectorLayer2.m_mapSpatialData = (MapSpatialData)this.m_mapSpatialData.PublishClone(context);
            }
            return(mapVectorLayer2);
        }
Esempio n. 2
0
        public virtual object PublishClone(AutomaticSubtotalContext context)
        {
            IDOwner iDOwner = (IDOwner)base.MemberwiseClone();

            iDOwner.m_ID      = context.GenerateID();
            iDOwner.m_isClone = true;
            return(iDOwner);
        }
Esempio n. 3
0
        internal virtual object PublishClone(AutomaticSubtotalContext context)
        {
            IDOwner obj = (IDOwner)MemberwiseClone();

            obj.m_ID      = context.GenerateID();
            obj.m_isClone = true;
            return(obj);
        }
Esempio n. 4
0
        internal Grouping CloneForDomainScope(AutomaticSubtotalContext context, ReportHierarchyNode cloneOwner)
        {
            Grouping grouping = new Grouping(ConstructionPhase.Publishing);

            grouping.m_isClone         = true;
            grouping.m_ID              = context.GenerateID();
            grouping.m_owner           = cloneOwner;
            cloneOwner.OriginalScopeID = Owner.DataScopeInfo.ScopeID;
            Global.Tracer.Assert(m_name != null, "Group Name cannot be null");
            grouping.m_name = context.CreateAndRegisterUniqueGroupName(m_name, m_isClone, isDomainScope: true);
            CloneGroupExpressions(context, grouping);
            return(grouping);
        }
Esempio n. 5
0
        public override void CreateDomainScopeMember(ReportHierarchyNode parentNode, Grouping grouping, AutomaticSubtotalContext context)
        {
            GaugeMember gaugeMember = new GaugeMember(context.GenerateID(), this);

            gaugeMember.Grouping = grouping.CloneForDomainScope(context, gaugeMember);
            HierarchyNodeList hierarchyNodeList = (parentNode != null) ? parentNode.InnerHierarchy : ColumnMembers;

            if (hierarchyNodeList != null)
            {
                hierarchyNodeList.Add(gaugeMember);
                gaugeMember.IsColumn = true;
                GaugeRow.Cells.Insert(ColumnMembers.GetMemberIndex(gaugeMember), new GaugeCell(context.GenerateID(), this));
                base.ColumnCount++;
            }
        }
        internal object PublishClone(AutomaticSubtotalContext context, bool isClonedDynamic)
        {
            TablixHeader tablixHeader = (TablixHeader)base.PublishClone(context);

            if (m_size != null)
            {
                tablixHeader.m_size = (string)m_size.Clone();
            }
            if (m_cellContents != null)
            {
                if (isClonedDynamic)
                {
                    ExpressionInfo meDotValueExpression = null;
                    Rectangle      rectangle            = new Rectangle(context.GenerateID(), context.GenerateID(), context.CurrentDataRegion);
                    rectangle.Name = context.CreateUniqueReportItemName(m_cellContents.Name, emptyRectangle: true, isClone: false);
                    Style styleClass = m_cellContents.StyleClass;
                    if (styleClass != null)
                    {
                        Style    style = new Style(ConstructionPhase.Publishing);
                        string[] stylesForEmptyRectangleInSubtotals = m_StylesForEmptyRectangleInSubtotals;
                        foreach (string name in stylesForEmptyRectangleInSubtotals)
                        {
                            AddAttribute(context, styleClass, style, name, meDotValueExpression);
                        }
                        rectangle.StyleClass = style;
                    }
                    tablixHeader.m_cellContents = rectangle;
                }
                else
                {
                    tablixHeader.m_cellContents = (ReportItem)m_cellContents.PublishClone(context);
                    if (m_altCellContents != null)
                    {
                        Global.Tracer.Assert(tablixHeader.m_cellContents is CustomReportItem);
                        tablixHeader.m_altCellContents = (ReportItem)m_altCellContents.PublishClone(context);
                        ((CustomReportItem)tablixHeader.m_cellContents).AltReportItem = tablixHeader.m_altCellContents;
                    }
                }
            }
            return(tablixHeader);
        }
Esempio n. 7
0
        internal object PublishClone(AutomaticSubtotalContext context, ReportHierarchyNode owner)
        {
            Grouping grouping = (Grouping)MemberwiseClone();

            grouping.m_isClone = true;
            grouping.m_ID      = context.GenerateID();
            grouping.m_owner   = owner;
            if (DomainScope != null)
            {
                grouping.DomainScope = context.GetNewScopeName(DomainScope);
                if (string.CompareOrdinal(DomainScope, grouping.DomainScope) != 0)
                {
                    context.DomainScopeGroups.Add(grouping);
                }
                else
                {
                    grouping.m_scopeIDForDomainScope = Owner.DataScopeInfo.ScopeID;
                }
            }
            context.AddAggregateHolder(grouping);
            Global.Tracer.Assert(m_name != null);
            grouping.m_name = context.CreateAndRegisterUniqueGroupName(m_name, m_isClone);
            context.AddSortTarget(grouping.m_name, grouping);
            CloneGroupExpressions(context, grouping);
            if (m_groupLabel != null)
            {
                grouping.m_groupLabel = (ExpressionInfo)m_groupLabel.PublishClone(context);
            }
            if (m_sortDirections != null)
            {
                grouping.m_sortDirections = new List <bool>(m_sortDirections.Count);
                foreach (bool sortDirection in m_sortDirections)
                {
                    grouping.m_sortDirections.Add(sortDirection);
                }
            }
            grouping.m_aggregates          = new List <DataAggregateInfo>();
            grouping.m_recursiveAggregates = new List <DataAggregateInfo>();
            grouping.m_postSortAggregates  = new List <DataAggregateInfo>();
            if (m_filters != null)
            {
                grouping.m_filters = new List <Filter>(m_filters.Count);
                foreach (Filter filter in m_filters)
                {
                    grouping.m_filters.Add((Filter)filter.PublishClone(context));
                }
            }
            if (m_parent != null)
            {
                grouping.m_parent = new List <ExpressionInfo>(m_parent.Count);
                foreach (ExpressionInfo item in m_parent)
                {
                    grouping.m_parent.Add((ExpressionInfo)item.PublishClone(context));
                }
            }
            if (m_dataElementName != null)
            {
                grouping.m_dataElementName = (string)m_dataElementName.Clone();
            }
            if (m_userSortExpressions != null)
            {
                grouping.m_userSortExpressions = new List <ExpressionInfo>(m_userSortExpressions.Count);
                foreach (ExpressionInfo userSortExpression in m_userSortExpressions)
                {
                    grouping.m_userSortExpressions.Add((ExpressionInfo)userSortExpression.PublishClone(context));
                }
            }
            if (m_variables != null)
            {
                grouping.m_variables = new List <Variable>(m_variables.Count);
                foreach (Variable variable in m_variables)
                {
                    grouping.m_variables.Add((Variable)variable.PublishClone(context));
                }
            }
            if (m_nonDetailSortFiltersInScope != null)
            {
                grouping.m_nonDetailSortFiltersInScope = new InScopeSortFilterHashtable(m_nonDetailSortFiltersInScope.Count);
                foreach (DictionaryEntry item2 in m_nonDetailSortFiltersInScope)
                {
                    List <int> obj  = (List <int>)item2.Value;
                    List <int> list = new List <int>(obj.Count);
                    foreach (int item3 in obj)
                    {
                        list.Add(item3);
                    }
                    grouping.m_nonDetailSortFiltersInScope.Add(item2.Key, list);
                }
            }
            if (m_detailSortFiltersInScope != null)
            {
                grouping.m_detailSortFiltersInScope = new InScopeSortFilterHashtable(m_detailSortFiltersInScope.Count);
                foreach (DictionaryEntry item4 in m_detailSortFiltersInScope)
                {
                    List <int> obj2  = (List <int>)item4.Value;
                    List <int> list2 = new List <int>(obj2.Count);
                    foreach (int item5 in obj2)
                    {
                        list2.Add(item5);
                    }
                    grouping.m_detailSortFiltersInScope.Add(item4.Key, list2);
                }
            }
            if (m_pageBreak != null)
            {
                grouping.m_pageBreak = (PageBreak)m_pageBreak.PublishClone(context);
            }
            if (m_pageName != null)
            {
                grouping.m_pageName = (ExpressionInfo)m_pageName.PublishClone(context);
            }
            return(grouping);
        }
Esempio n. 8
0
        public object PublishClone(AutomaticSubtotalContext context, ReportHierarchyNode owner)
        {
            Grouping grouping = (Grouping)base.MemberwiseClone();

            grouping.m_isClone = true;
            grouping.m_ID      = context.GenerateID();
            grouping.m_owner   = owner;
            if (this.DomainScope != null)
            {
                grouping.DomainScope = context.GetNewScopeName(this.DomainScope);
                if (string.CompareOrdinal(this.DomainScope, grouping.DomainScope) != 0)
                {
                    context.DomainScopeGroups.Add(grouping);
                }
                else
                {
                    grouping.m_scopeIDForDomainScope = this.Owner.DataScopeInfo.ScopeID;
                }
            }
            context.AddAggregateHolder(grouping);
            Global.Tracer.Assert(this.m_name != null);
            grouping.m_name = context.CreateAndRegisterUniqueGroupName(this.m_name, this.m_isClone);
            context.AddSortTarget(grouping.m_name, grouping);
            this.CloneGroupExpressions(context, grouping);
            if (this.m_groupLabel != null)
            {
                grouping.m_groupLabel = (ExpressionInfo)this.m_groupLabel.PublishClone(context);
            }
            if (this.m_sortDirections != null)
            {
                grouping.m_sortDirections = new List <bool>(this.m_sortDirections.Count);
                foreach (bool sortDirection in this.m_sortDirections)
                {
                    grouping.m_sortDirections.Add(sortDirection);
                }
            }
            grouping.m_aggregates          = new List <DataAggregateInfo>();
            grouping.m_recursiveAggregates = new List <DataAggregateInfo>();
            grouping.m_postSortAggregates  = new List <DataAggregateInfo>();
            if (this.m_filters != null)
            {
                grouping.m_filters = new List <Filter>(this.m_filters.Count);
                foreach (Filter filter in this.m_filters)
                {
                    grouping.m_filters.Add((Filter)filter.PublishClone(context));
                }
            }
            if (this.m_parent != null)
            {
                grouping.m_parent = new List <ExpressionInfo>(this.m_parent.Count);
                foreach (ExpressionInfo item in this.m_parent)
                {
                    grouping.m_parent.Add((ExpressionInfo)item.PublishClone(context));
                }
            }
            if (this.m_dataElementName != null)
            {
                grouping.m_dataElementName = (string)this.m_dataElementName.Clone();
            }
            if (this.m_userSortExpressions != null)
            {
                grouping.m_userSortExpressions = new List <ExpressionInfo>(this.m_userSortExpressions.Count);
                foreach (ExpressionInfo userSortExpression in this.m_userSortExpressions)
                {
                    grouping.m_userSortExpressions.Add((ExpressionInfo)userSortExpression.PublishClone(context));
                }
            }
            if (this.m_variables != null)
            {
                grouping.m_variables = new List <Variable>(this.m_variables.Count);
                foreach (Variable variable in this.m_variables)
                {
                    grouping.m_variables.Add((Variable)variable.PublishClone(context));
                }
            }
            if (this.m_nonDetailSortFiltersInScope != null)
            {
                grouping.m_nonDetailSortFiltersInScope = new InScopeSortFilterHashtable(this.m_nonDetailSortFiltersInScope.Count);
                IDictionaryEnumerator enumerator6 = this.m_nonDetailSortFiltersInScope.GetEnumerator();
                try
                {
                    while (enumerator6.MoveNext())
                    {
                        object          current6        = enumerator6.Current;
                        DictionaryEntry dictionaryEntry = (DictionaryEntry)current6;
                        List <int>      list            = (List <int>)dictionaryEntry.Value;
                        List <int>      list2           = new List <int>(list.Count);
                        foreach (int item2 in list)
                        {
                            list2.Add(item2);
                        }
                        grouping.m_nonDetailSortFiltersInScope.Add(dictionaryEntry.Key, list2);
                    }
                }
                finally
                {
                    IDisposable disposable = enumerator6 as IDisposable;
                    if (disposable != null)
                    {
                        disposable.Dispose();
                    }
                }
            }
            if (this.m_detailSortFiltersInScope != null)
            {
                grouping.m_detailSortFiltersInScope = new InScopeSortFilterHashtable(this.m_detailSortFiltersInScope.Count);
                IDictionaryEnumerator enumerator8 = this.m_detailSortFiltersInScope.GetEnumerator();
                try
                {
                    while (enumerator8.MoveNext())
                    {
                        object          current8         = enumerator8.Current;
                        DictionaryEntry dictionaryEntry2 = (DictionaryEntry)current8;
                        List <int>      list3            = (List <int>)dictionaryEntry2.Value;
                        List <int>      list4            = new List <int>(list3.Count);
                        foreach (int item3 in list3)
                        {
                            list4.Add(item3);
                        }
                        grouping.m_detailSortFiltersInScope.Add(dictionaryEntry2.Key, list4);
                    }
                }
                finally
                {
                    IDisposable disposable2 = enumerator8 as IDisposable;
                    if (disposable2 != null)
                    {
                        disposable2.Dispose();
                    }
                }
            }
            if (this.m_pageBreak != null)
            {
                grouping.m_pageBreak = (PageBreak)this.m_pageBreak.PublishClone(context);
            }
            if (this.m_pageName != null)
            {
                grouping.m_pageName = (ExpressionInfo)this.m_pageName.PublishClone(context);
            }
            return(grouping);
        }