private FoundGroupDataItem BuildOneFoundUserGroupDataItem(IEnumerable <ProfileDTO> profiles, string groupType)
        {
            FoundGroupDataItem result = new FoundGroupDataItem();

            result.IconSourcePath = ResolveIcon(groupType);

            List <FoundSingleDataItemBase> singleItems = new List <FoundSingleDataItemBase>();

            profiles.ForEach <ProfileDTO>(pDTO => singleItems.Add(BuildOneFoundSingleUserDataItem(pDTO)));

            result.FoundUsers = singleItems;
            result.UsersCount = singleItems.Count;
            result.GroupType  = groupType;

            return(result);
        }
        public List <FoundGroupDataItem> BuildFoundGroupDataItems(SearchResponse searchResponse)
        {
            List <FoundGroupDataItem> result = new List <FoundGroupDataItem>();

            List <FoundGroupDataItem> foundUserGroups = BuildUserBasedGroupDataItem(searchResponse.Profiles);
            FoundGroupDataItem        foundTeamGroups = BuildTeamBasedGroupDataItem(searchResponse.Teams);

            result.InsertRange(result.Count, foundUserGroups);

            if (foundTeamGroups != null)
            {
                result.Add(foundTeamGroups);
            }

            return(result);
        }
        private FoundGroupDataItem BuildTeamBasedGroupDataItem(IEnumerable <TeamDTO> data)
        {
            FoundGroupDataItem result = null;

            if (data != null && data.Any())
            {
                result = new FoundGroupDataItem()
                {
                    FoundUsers     = new List <FoundSingleDataItemBase>(),
                    IconSourcePath = ResolveIcon(FoundUserGroupDataItemFactory.TEAM_TYPE_CONSTANT_VALUE),
                    GroupType      = TEAM_TYPE_CONSTANT_VALUE
                };

                data.ForEach <TeamDTO>((tDTO) => result.FoundUsers.Add(BuildOneFoundSingleTeamDataItem(tDTO)));

                result.UsersCount = result.FoundUsers.Count;
            }

            return(result);
        }