BLL.Group.SearchGroupsForUser C# (CSharp) Method

SearchGroupsForUser() public static method

public static SearchGroupsForUser ( int userId, string searchString = "" ) : List
userId int
searchString string
return List
        public static List<Models.Group> SearchGroupsForUser(int userId, string searchString = "")
        {
            if (BLL.User.GetUser(userId).Membership == "Administrator")
                return SearchGroups(searchString);

            var userManagedGroups = BLL.UserGroupManagement.Get(userId);
            if (userManagedGroups.Count == 0)
                return SearchGroups(searchString);

            else
            {
                using (var uow = new DAL.UnitOfWork())
                {
                    var listOfGroups = userManagedGroups.Select(managedGroup => uow.GroupRepository.GetFirstOrDefault(i => i.Name.Contains(searchString) && i.Id == managedGroup.GroupId)).ToList();
                    foreach (var group in listOfGroups)
                        group.Image = BLL.Image.GetImage(group.ImageId);
                    return listOfGroups;

                }
            }
        }