Exemplo n.º 1
0
        public virtual ActionResult ViewBio(string id)
        {
            var player = PlayerProcedures.GetPlayerFromMembership(id);

            ViewBag.Name = player.GetFullName();

            var output = new BioPageViewModel();

            output.Player    = player;
            output.PlayerBio = SettingsProcedures.GetPlayerBioFromMembershipId(id);
            if (output.PlayerBio == null)
            {
                TempData["Error"] = "It seems that this player has not written a player biography yet.";
                return(RedirectToAction(MVC.PvP.Play()));
            }

            output.Badges  = StatsProcedures.GetPlayerBadges(player.MembershipId);
            output.IsMyBio = User.Identity.GetUserId() == player.MembershipId;

            IContributionRepository contributionRepo = new EFContributionRepository();

            IEnumerable <BioPageContributionViewModel> mySpells = from c in contributionRepo.Contributions
                                                                  where c.OwnerMembershipId == player.MembershipId && c.ProofreadingCopy && c.IsLive
                                                                  select new BioPageContributionViewModel
            {
                SpellName = c.Skill_FriendlyName,
                FormName  = c.Form_FriendlyName,
            };

            IEffectContributionRepository effectContribtionRepo = new EFEffectContributionRepository();

            IEnumerable <BioPageEffectContributionViewModel> myEffects = from c in effectContribtionRepo.EffectContributions
                                                                         where c.OwnerMemberhipId == player.MembershipId && c.ProofreadingCopy && c.IsLive
                                                                         select new BioPageEffectContributionViewModel
            {
                EffectName = c.Effect_FriendlyName,
                SpellName  = c.Skill_FriendlyName
            };

            myEffects = myEffects.ToList();

            ViewBag.MyContributions       = mySpells.ToList();
            ViewBag.MyEffectContributions = myEffects.ToList();

            return(View(MVC.Settings.Views.ViewBio, output));
        }