internal SLGroupLevel Clone() { var gl = new SLGroupLevel(); gl.UniqueName = UniqueName; gl.Caption = Caption; gl.User = User; gl.CustomRollUp = CustomRollUp; gl.Groups = new List <SLGroup>(); foreach (var g in Groups) { gl.Groups.Add(g.Clone()); } return(gl); }
internal void FromCacheHierarchy(CacheHierarchy ch) { SetAllNull(); if (ch.UniqueName != null) { UniqueName = ch.UniqueName.Value; } if (ch.Caption != null) { Caption = ch.Caption.Value; } if (ch.Measure != null) { Measure = ch.Measure.Value; } if (ch.Set != null) { Set = ch.Set.Value; } if (ch.ParentSet != null) { ParentSet = ch.ParentSet.Value; } if (ch.IconSet != null) { IconSet = ch.IconSet.Value; } if (ch.Attribute != null) { Attribute = ch.Attribute.Value; } if (ch.Time != null) { Time = ch.Time.Value; } if (ch.KeyAttribute != null) { KeyAttribute = ch.KeyAttribute.Value; } if (ch.DefaultMemberUniqueName != null) { DefaultMemberUniqueName = ch.DefaultMemberUniqueName.Value; } if (ch.AllUniqueName != null) { AllUniqueName = ch.AllUniqueName.Value; } if (ch.AllCaption != null) { AllCaption = ch.AllCaption.Value; } if (ch.DimensionUniqueName != null) { DimensionUniqueName = ch.DimensionUniqueName.Value; } if (ch.DisplayFolder != null) { DisplayFolder = ch.DisplayFolder.Value; } if (ch.MeasureGroup != null) { MeasureGroup = ch.MeasureGroup.Value; } if (ch.Measures != null) { Measures = ch.Measures.Value; } if (ch.Count != null) { Count = ch.Count.Value; } if (ch.OneField != null) { OneField = ch.OneField.Value; } if (ch.MemberValueDatatype != null) { MemberValueDatatype = ch.MemberValueDatatype.Value; } if (ch.Unbalanced != null) { Unbalanced = ch.Unbalanced.Value; } if (ch.UnbalancedGroup != null) { UnbalancedGroup = ch.UnbalancedGroup.Value; } if (ch.Hidden != null) { Hidden = ch.Hidden.Value; } FieldUsage fu; SLGroupLevel gl; using (var oxr = OpenXmlReader.Create(ch)) { while (oxr.Read()) { if (oxr.ElementType == typeof(FieldUsage)) { fu = (FieldUsage)oxr.LoadCurrentElement(); FieldsUsage.Add(fu.Index.Value); } else if (oxr.ElementType == typeof(GroupLevel)) { gl = new SLGroupLevel(); gl.FromGroupLevel((GroupLevel)oxr.LoadCurrentElement()); GroupLevels.Add(gl); } } } }