public override void TransferTo(IScalabilityCache scaleCache)
 {
     base.TransferTo(scaleCache);
     if (m_rows != null)
     {
         m_rows.Dispose();
         m_rows = null;
     }
     m_hasBeenTransferred = true;
 }
Beispiel #2
0
        internal void CreateInstances(ScopeInstance parentInstance, IReference <RuntimeMemberObj>[] innerMembers, IReference <RuntimeDataTablixGroupLeafObj> innerGroupLeafRef)
        {
            CreateInstancesTraversalContext traversalContext = new CreateInstancesTraversalContext(parentInstance, innerMembers, innerGroupLeafRef);

            m_hierarchyDef.ResetInstancePathCascade();
            TraverseGroupOrSortTree(ProcessingStages.CreateGroupTree, traversalContext);
            if (m_detailDataRows != null)
            {
                m_detailDataRows.Dispose();
            }
            m_detailDataRows           = null;
            m_detailUserSortTargetInfo = null;
        }
Beispiel #3
0
 public void ProcessUserSortForTarget(ObjectModelImpl reportObjectModel, AspNetCore.ReportingServices.RdlExpressions.ReportRuntime reportRuntime, IReference <IHierarchyObj> target, ref ScalableList <DataFieldRow> dataRows, bool targetForNonDetailSort)
 {
     using (target.PinValue())
     {
         IHierarchyObj hierarchyObj = target.Value();
         if (targetForNonDetailSort && dataRows != null && 0 < dataRows.Count)
         {
             IReference <RuntimeSortFilterEventInfo> reference = null;
             try
             {
                 List <int> sortFilterInfoIndices = hierarchyObj.SortFilterInfoIndices;
                 Global.Tracer.Assert(null != hierarchyObj.SortTree, "(null != targetObj.SortTree)");
                 if (sortFilterInfoIndices != null)
                 {
                     reference = this.m_runtimeSortFilterInfo[sortFilterInfoIndices[0]];
                 }
                 RuntimeSortFilterEventInfo runtimeSortFilterEventInfo = null;
                 if (reference != null)
                 {
                     reference.PinValue();
                     runtimeSortFilterEventInfo = reference.Value();
                 }
                 for (int i = 0; i < dataRows.Count; i++)
                 {
                     dataRows[i].SetFields(reportObjectModel.FieldsImpl);
                     object keyValue = DBNull.Value;
                     if (runtimeSortFilterEventInfo != null)
                     {
                         keyValue = runtimeSortFilterEventInfo.GetSortOrder(reportRuntime);
                     }
                     hierarchyObj.SortTree.NextRow(keyValue, hierarchyObj);
                 }
             }
             finally
             {
                 if (reference != null)
                 {
                     reference.UnPinValue();
                 }
             }
             if (dataRows != null)
             {
                 dataRows.Dispose();
             }
             dataRows = null;
         }
         hierarchyObj.MarkSortInfoProcessed(this.m_runtimeSortFilterInfo);
     }
 }
Beispiel #4
0
 public void Dispose()
 {
     m_rows.Dispose();
     m_rows = null;
 }
Beispiel #5
0
 public void Dispose()
 {
     m_nodes.Dispose();
     m_nodes = null;
 }