BLL.Image.GetOnDemandImageList C# (CSharp) Метод

GetOnDemandImageList() публичный статический Метод

public static GetOnDemandImageList ( int userId ) : List
userId int
Результат List
        public static List<Models.Image> GetOnDemandImageList(int userId = 0)
        {
            using (var uow = new DAL.UnitOfWork())
            {
                if (userId == 0)
                    return uow.ImageRepository.Get(i => i.IsVisible == 1 && i.Enabled == 1, orderBy: (q => q.OrderBy(p => p.Name)));
                else
                {
                    if (BLL.User.GetUser(userId).Membership == "Administrator")
                        return uow.ImageRepository.Get(i => i.IsVisible == 1 && i.Enabled == 1, orderBy: (q => q.OrderBy(p => p.Name)));

                    var userManagedImages = BLL.UserImageManagement.Get(userId);
                    if (userManagedImages.Count == 0)
                        return uow.ImageRepository.Get(i => i.IsVisible == 1 && i.Enabled == 1, orderBy: (q => q.OrderBy(p => p.Name)));
                    else
                    {
                         var listOfImages = new List<Models.Image>();
                         listOfImages.AddRange(userManagedImages.Select(managedImage => uow.ImageRepository.GetFirstOrDefault(i => i.IsVisible == 1 && i.Id == managedImage.ImageId && i.Enabled == 1)));
                        return listOfImages;
                    }
                }
            }
        }