public virtual ActionResult Profiles(string username)
{
var user = userService.FindByUsername(username);
if (user == null) return HttpNotFound();
var packages = (from p in packageService.FindPackagesByOwner(user) where p.Listed orderby p.Version descending group p by p.PackageRegistration.Id).Select(c => new PackageViewModel(c.First())).ToList();
var packagesInModeration =
(from p in packageService.FindPackagesByOwner(user) where p.Status == PackageStatusType.Submitted orderby p.Version descending group p by p.PackageRegistration.Id).Select(
c => new PackageViewModel(c.First())).ToList();
//var userProfiles = profilesService.GetUserProfiles(user).ToList();
var userProfiles = (from p in profilesService.GetUserProfiles(user) orderby p.Name select p).Select(c => new UserSiteProfileViewModel(c)).ToList();
var model = new UserProfileModel
{
Username = user.Username,
EmailAddress = user.EmailAddress,
Packages = packages,
PackagesModerationQueue = packagesInModeration,
TotalPackageDownloadCount = packages.Sum(p => p.TotalDownloadCount),
UserProfiles = userProfiles
};
return View("~/Views/Users/Profiles.cshtml", model);
}