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;
}
}
}