Esempio n. 1
0
        protected override void PopulateDisplayMembers()
        {
            List <T> allChildren = new List <T>();

            if (typeof(T).Equals(typeof(ExtendedHierarchyMember)))
            {
                foreach (int selectedMember in SelectedMembers.Distinct())
                {
                    if (Members.FirstOrDefault(x => x.Id == selectedMember) is ExtendedHierarchyMember member)
                    {
                        allChildren.AddRange((Members as List <ExtendedHierarchyMember>).Where(x => x.Left > member.Left && x.Right < member.Right) as List <T>);
                    }
                }
            }
            DisplayMembers = allChildren.Distinct();
        }
Esempio n. 2
0
        protected override void PopulateDisplayMembers()
        {
            List <T>        parents         = new List <T>();
            MetaDataManager metaDataManager = new MetaDataManager();

            if (typeof(T).Equals(typeof(ExtendedHierarchyMember)))
            {
                foreach (int selectedMember in SelectedMembers.Distinct())
                {
                    T member = Members.FirstOrDefault(x => x.Id == selectedMember);
                    if (member != null)
                    {
                        parents.Add(member);
                        List <int> ancestors = metaDataManager.GetAncestors((member as ExtendedHierarchyMember).Lineage);
                        List <ExtendedHierarchyMember> members = (Members as List <ExtendedHierarchyMember>).Where(x => ancestors.Contains(x.Id) && x.MemberType == MemberType.Rollup).ToList();
                        if (members != null && members.Count > 0)
                        {
                            parents.AddRange(members as List <T>);
                        }
                    }
                }
            }
            //else if (typeof(T).Equals(typeof(TimeHierarchy)))
            //{
            //    foreach (int selectedMember in SelectedMembers.Distinct())
            //    {
            //        T member = Members.FirstOrDefault(x => x.Id == selectedMember);
            //        if (member != null)
            //        {
            //            parents.Add(member);
            //            List<int> ancestors = metaDataManager.GetAncestors((member as TimeHierarchy).Lineage);
            //            List<TimeHierarchy> members = (Members as List<TimeHierarchy>).Where(x => ancestors.Contains(x.Id) && x.Level < 4).ToList();
            //            if (members != null && members.Count > 0)
            //            {
            //                parents.AddRange(members as List<T>);
            //            }
            //        }
            //    }
            //}
            DisplayMembers = parents.Distinct();
        }
Esempio n. 3
0
        protected virtual void PopulatePostProcessDeleteMemberIDs()
        {
            List <T> selectedAndAllChildren = new List <T>();

            if (typeof(T).Equals(typeof(ExtendedHierarchyMember)))
            {
                foreach (int selectedMember in SelectedMembers.Distinct())
                {
                    if (Members.FirstOrDefault(x => x.Id == selectedMember) is ExtendedHierarchyMember member)
                    {
                        if (member != null)
                        {
                            List <ExtendedHierarchyMember> members = (Members as List <ExtendedHierarchyMember>).Where(x => x.Left >= member.Left && x.Right <= member.Right).ToList();
                            if (members != null && members.Count > 0)
                            {
                                selectedAndAllChildren.AddRange(members as List <T>);
                            }
                        }
                    }
                }
            }
            else if (typeof(T).Equals(typeof(TimeHierarchy)))
            {
                foreach (int selectedMember in SelectedMembers.Distinct())
                {
                    if (Members.FirstOrDefault(x => x.Id == selectedMember) is TimeHierarchy member)
                    {
                        if (member != null)
                        {
                            List <TimeHierarchy> members = (Members as List <TimeHierarchy>).Where(x => x.Left >= member.Left && x.Right <= member.Right).ToList();
                            if (members != null && members.Count > 0)
                            {
                                selectedAndAllChildren.AddRange(members as List <T>);
                            }
                        }
                    }
                }
            }
            PostProcessDeleteMemberIDs = selectedAndAllChildren.Distinct().Select(x => x.Id).Except(DisplayMembers.Select(z => z.Id));
        }
Esempio n. 4
0
        protected virtual void PopulateRelevantLeafMembers()
        {
            List <T> leaves = new List <T>();

            if (typeof(T).Equals(typeof(ExtendedHierarchyMember)))
            {
                foreach (int selectedMember in SelectedMembers.Distinct())
                {
                    if (Members.FirstOrDefault(x => x.Id == selectedMember) is ExtendedHierarchyMember member)
                    {
                        if (member != null)
                        {
                            List <ExtendedHierarchyMember> members = (Members as List <ExtendedHierarchyMember>).Where(x => x.Left >= member.Left && x.Right <= member.Right && x.MemberType == MemberType.Member).ToList();
                            if (members != null && members.Count > 0)
                            {
                                leaves.AddRange(members as List <T>);
                            }
                        }
                    }
                }
            }
            else if (typeof(T).Equals(typeof(TimeHierarchy)))
            {
                foreach (int selectedMember in SelectedMembers.Distinct())
                {
                    if (Members.FirstOrDefault(x => x.Id == selectedMember) is TimeHierarchy member)
                    {
                        if (member != null)
                        {
                            List <TimeHierarchy> members = (Members as List <TimeHierarchy>).Where(x => x.Left >= member.Left && x.Right <= member.Right && x.Level == 4).ToList();
                            if (members != null && members.Count > 0)
                            {
                                leaves.AddRange(members as List <T>);
                            }
                        }
                    }
                }
            }
            RelevantLeafIDs = leaves.Distinct().Select(x => x.Id);
        }
Esempio n. 5
0
        protected override void PopulateDisplayMembers()
        {
            List <T> selectedAndChildren = new List <T>();

            if (typeof(T).Equals(typeof(ExtendedHierarchyMember)))
            {
                foreach (int selectedMember in SelectedMembers.Distinct())
                {
                    if (Members.FirstOrDefault(x => x.Id == selectedMember) is ExtendedHierarchyMember member)
                    {
                        if (member != null)
                        {
                            List <ExtendedHierarchyMember> members = (Members as List <ExtendedHierarchyMember>).Where(x => x.Id == member.Id || x.ParentId == member.Id).ToList();
                            if (members != null && members.Count > 0)
                            {
                                selectedAndChildren.AddRange(members as List <T>);
                            }
                        }
                    }
                }
            }
            else if (typeof(T).Equals(typeof(TimeHierarchy)))
            {
                foreach (int selectedMember in SelectedMembers.Distinct())
                {
                    if (Members.FirstOrDefault(x => x.Id == selectedMember) is TimeHierarchy member)
                    {
                        if (member != null)
                        {
                            List <TimeHierarchy> members = (Members as List <TimeHierarchy>).Where(x => x.Id == member.Id || x.ParentId == member.Id).ToList();
                            if (members != null && members.Count > 0)
                            {
                                selectedAndChildren.AddRange(members as List <T>);
                            }
                        }
                    }
                }
            }
            DisplayMembers = selectedAndChildren.Distinct();
        }
Esempio n. 6
0
        protected override void PopulateDisplayMembers()
        {
            List <T> leaves = new List <T>();

            if (typeof(T).Equals(typeof(ExtendedHierarchyMember)))
            {
                foreach (int selectedMember in SelectedMembers.Distinct())
                {
                    T member = Members.FirstOrDefault(x => x.Id == selectedMember);
                    if (member != null)
                    {
                        leaves.Add(member);
                        List <ExtendedHierarchyMember> members = (Members as List <ExtendedHierarchyMember>).Where(x => x.Left >= (member as ExtendedHierarchyMember).Left && x.Right <= (member as ExtendedHierarchyMember).Right && x.MemberType == MemberType.Member).ToList();
                        if (members != null && members.Count > 0)
                        {
                            leaves.AddRange(members as List <T>);
                        }
                    }
                }
            }
            else if (typeof(T).Equals(typeof(TimeHierarchy)))
            {
                foreach (int selectedMember in SelectedMembers.Distinct())
                {
                    T member = Members.FirstOrDefault(x => x.Id == selectedMember);
                    if (member != null)
                    {
                        leaves.Add(member);
                        List <TimeHierarchy> members = (Members as List <TimeHierarchy>).Where(x => x.Left >= (member as TimeHierarchy).Left && x.Right <= (member as TimeHierarchy).Right && x.Level == 4).ToList();
                        if (members != null && members.Count > 0)
                        {
                            leaves.AddRange(members as List <T>);
                        }
                    }
                }
            }
            DisplayMembers = leaves.Distinct();
        }
 protected override void PopulateDisplayMembers()
 {
     if (typeof(T).Equals(typeof(ExtendedHierarchyMember)))
     {
         List <ExtendedHierarchyMember> members = (Members as List <ExtendedHierarchyMember>).Where(x => SelectedMembers.Distinct().Contains(x.ParentId)).ToList();
         DisplayMembers = members as List <T>;
     }
     else if (typeof(T).Equals(typeof(TimeHierarchy)))
     {
         List <TimeHierarchy> members = (Members as List <TimeHierarchy>).Where(x => SelectedMembers.Distinct().Contains(x.ParentId)).ToList();
         DisplayMembers = members as List <T>;
     }
 }
 protected override void PopulateDisplayMembers()
 {
     DisplayMembers = Members.Where(x => SelectedMembers.Distinct().Contains(x.Id)).ToList();
 }