public ActionResult AcceptCongressCandidate(int candidateID) { var entity = SessionHelper.CurrentEntity; if (!entity.Is(EntityTypeEnum.Citizen)) { return(RedirectToHomeWithError()); } var citizen = entity.Citizen; if (citizen.PartyMember == null) { return(RedirectToHomeWithError()); } var candidate = congressCandidateVotingRepository.GetCandidate(candidateID); var party = candidate.Party; if (partyService.CanAcceptCongressCandidates(citizen, party)) { partyService.AcceptCongressCandidate(candidate); AddInfo(string.Format("You accepted {0} as congress candidate", candidate.Citizen.Entity.Name)); return(RedirectToAction("CongressCandidates", new { partyID = party.ID })); } return(RedirectToHomeWithError()); }