コード例 #1
0
 private UserProfileDetailsModel MapUserProfileDetails(UserProfile userProfile)
 {
     var viewModel = Mapper.Map<UserProfile, UserProfileDetailsModel>(userProfile);
     var causes = causeRepository.FindCausesByUserProfileID(userProfile.UserProfileID);
     viewModel.Campaigns = userProfile.Campaigns
              .Select(Mapper.Map<Campaign, CampaignDetailsModel>)
              .OrderByDescending(c => c.EndDate).ToList();
     viewModel.ActiveCampaignCount = userProfile.Campaigns.Where(c => c.IsActive).Count();
     viewModel.ImagePath = userProfile.GetProfileImagePath(ProfileImageSize.Full);
     viewModel.DollarsRaised = userProfile.CalculateTotalDonations();
     viewModel.DollarsGiven = userProfile.CalculateTotalDonationsGiven();
     viewModel.ProjectsCompleted = causes.Count();
     viewModel.ProjectsCompletedLabel = ModelHelpers.GetCausesLabelText(causes);
     viewModel.LastVisit = userProfile.Users.Any() ? userProfile.Users.First().LastLoggedIn : DateTime.Now;
     viewModel.Role = userProfile.Role != null ? userProfile.Role.Description : "Registered User";
     viewModel.CurrentUserIsOwner = ((User != null) && (userProfile.Email.ToLower() == User.Identity.Name.ToLower()));
     return viewModel;
 }