private UserModel PrepareListUserModel(User user)
        {
            var model = user.ToModel();

            if ((user.UserRoles.All(x => x.SystemName != SystemUserRoleNames.SiteOwner) &&
                (user.UserRoles.All(x => x.SystemName != SystemUserRoleNames.Administrators) || _permissionService.Authorize(PermissionProvider.EditAdmins))) ||
                (_workContext.CurrentUser != null && _workContext.CurrentUser.UserRoles.Any(x => x.SystemName == SystemUserRoleNames.SiteOwner)))
            {
                model.Actions.Add(new ModelActionLink
                {
                    Alt = "Edit",
                    Icon = Url.Content("~/Areas/Admin/Content/images/icon-edit.png"),
                    Target = Url.Action("edit", new {id = user.Id})
                });

                if (user.UserRoles.All(x => x.SystemName != SystemUserRoleNames.SiteOwner))
                    model.Actions.Add(new DeleteActionLink(user.Id));
            }

            return model;
        }
        private UserModel PrepareUserModel(User user)
        {
            var model = user.ToModel();

            model.AvailableDisclosureLevels = _webHelper.GetAllEnumListItems<DisclosureLevel>();
            model.AvailableUserRoles = _userService.GetAllUserRoles(true).Select(x => x.ToModel()).ToList();

            return model;
        }
        private UserProfileModel PrepareUserProfileModel(User user)
        {
            if (user == null)
                throw new ArgumentNullException("user");

            AddHomeBreadcrumb();
            AddBreadcrumb("Profile for " + user.DisplayName, Url.RouteUrl("UserProfile", new { userName = user.UserName }));

            var model = new UserProfileModel
            {
                FinishedProjects = _projectService.GetFinishedProjectsByUserId(user.Id).Select(x => x.ToModel()).ToList(),
                IsOwnProfile = (_workContext.CurrentUser != null && user.Id == _workContext.CurrentUser.Id),
                MetaTitle = string.Format("User profile for {0} | Volunteer on #WeWillGather", user.DisplayName),
                OrganisedProjects = _projectService.GetOrganisedProjectsByUserId(user.Id).Select(x => x.ToModel()).ToList(),
                UpcomingProjects = _projectService.GetUpcomingProjectsByUserId(user.Id).Select(x => x.ToModel()).ToList(),
                User = user.ToModel()
            };

            if (model.IsOwnProfile)
            {
                model.User.AvailableDisclosureLevels = _webHelper.GetAllEnumListItems<DisclosureLevel>();
            }
            else
            {
                if (_workContext.CurrentUser != null)
                {
                    if (model.OrganisedProjects.Any(x => x.Volunteers.Any(y => y.Id == _workContext.CurrentUser.Id) || x.Owners.Any(y => y.Id == _workContext.CurrentUser.Id)))
                        model.VisitorIsVolunteer = true;
                }
            }

            return model;
        }