Exemplo n.º 1
0
        // GET: Profile
        public ActionResult Index()
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(Redirect("/"));
            }
            string userId    = User.Identity.GetUserId();
            var    model     = new ProfileViewModel();
            var    donations = _donationRepository.GetByDonor(userId).ToList();

            model.Donations = AutoMapper.Mapper.Map <List <Donation>, List <DonationViewModel> >(donations);

            // a better way? this is not efficient
            foreach (var donation in model.Donations)
            {
                var fundraiser = _fundraiserRepository.FindById(donation.FundraiserId);
                if (fundraiser != null)
                {
                    donation.FundraiserName = fundraiser.Name;
                }
                var campaign = _campaignRepository.FindById(donation.CampaignId);
                if (campaign != null)
                {
                    donation.CampaignName = campaign.Name;
                }
            }

            var fundraisers = _fundraiserRepository.FindByCreator(userId).ToList();

            model.Fundraisers = AutoMapper.Mapper.Map <List <Fundraiser>, List <FundraiserViewModel> >(fundraisers);

            return(View(model));
        }
Exemplo n.º 2
0
 protected override List <Fundraiser> HandleCore(GetByCreatorId request)
 {
     return(_fundraiserRepository.FindByCreator(request.CreatorId).ToList());
 }