public ActionResult AddToCampaign(int id, CreateParticipationViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(model));
            }

            var campaign = this.campaigns.GetById(id);

            if (campaign == null)
            {
                return(this.HttpNotFound());
            }

            var currentUserId = this.User.Identity.GetUserId();
            var currentUser   = this.users.GetById(currentUserId);

            if (currentUser == null)
            {
                return(this.HttpNotFound());
            }

            var participation = new Participation
            {
                OfferedPrice = model.OfferedPrice,
                Campaign     = campaign,
                User         = currentUser,
            };

            this.participations.Add(participation);
            this.participations.SaveChanges();

            return(this.RedirectToAction("Index", "Home"));
        }
        public ActionResult AddToCampaign(int id)
        {
            var campaign = this.campaigns.GetById(id);

            if (campaign == null)
            {
                return(this.HttpNotFound());
            }

            var participationViewModel = new CreateParticipationViewModel
            {
                Name            = campaign.Name,
                AvailableShares = campaign.AvailableShares,
                TotalShares     = campaign.TotalShares,
                PricePerShare   = campaign.PricePerShare,
                OwnerName       = campaign.User.UserName
            };

            return(this.View(participationViewModel));
        }