public UserProfileModel(User user, List<PackageViewModel> allPackages, int pageIndex, int pageSize, UrlHelper url) { Username = user.Username; EmailAddress = user.EmailAddress; UnconfirmedEmailAddress = user.UnconfirmedEmailAddress; AllPackages = allPackages; TotalPackages = allPackages.Count; PackagePage = pageIndex; PackagePageSize = pageSize; TotalPackageDownloadCount = AllPackages.Sum(p => p.TotalDownloadCount); PackagePageTotalCount = (TotalPackages + PackagePageSize - 1) / PackagePageSize; var pager = new PreviousNextPagerViewModel<PackageViewModel>(allPackages, pageIndex, PackagePageTotalCount, page => url.User(user, page)); Pager = pager; PagedPackages = AllPackages.Skip(PackagePageSize * pageIndex) .Take(PackagePageSize).ToList(); }