/// <summary>
 /// Sets the view model properties.
 /// </summary>
 /// <param name="viewModel">The view model.</param>
 /// <param name="page">The page.</param>
 /// <param name="totalPages">The total pages.</param>
 protected void SetViewModelProperties(UsersListExtendedViewModel viewModel, int page, int?totalPages)
 {
     viewModel.CurrentPage     = page;
     viewModel.TotalPagesCount = totalPages;
     viewModel.ProviderName    = this.ProviderName;
     viewModel.ContentType     = TypeResolutionService.ResolveType(this.ProfileTypeFullName);
     viewModel.CssClass        = this.ListCssClass;
     viewModel.ShowPager       = this.DisplayMode == ListDisplayMode.Paging && totalPages.HasValue && totalPages > 1;
 }
        /// <inheritDoc/>
        public IEnumerable <CacheDependencyKey> GetKeysOfDependentObjects(UsersListExtendedViewModel viewModel)
        {
            var contentResolvedType = this.ContentType;
            var result = new List <CacheDependencyKey>(1);

            result.Add(new CacheDependencyKey {
                Key = contentResolvedType.FullName, Type = contentResolvedType
            });

            return(result);
        }
        /// <summary>
        /// Populates the list ViewModel.
        /// </summary>
        /// <param name="page">The current page.</param>
        /// <param name="viewModel">The view model.</param>
        protected void PopulateListViewModel(int page, UsersListExtendedViewModel viewModel)
        {
            int?totalPages = null;

            if (this.SelectionMode == SelectionMode.SelectedItems && this.selectedItemsIds.Count == 0)
            {
                viewModel.Items = Enumerable.Empty <SitefinityProfileItemExtendedViewModel>();
            }
            else
            {
                viewModel.Items = this.ApplyListSettings(page, out totalPages);
            }

            this.SetViewModelProperties(viewModel, page, totalPages);
        }