public ActionResult SendChallenge(int?id, SendChallengeVM model) { if (ModelState.IsValid) { var challengerUserId = User.Identity.GetUserId(); var challenger = db.KIDs.Find(challengerUserId); var challenge = db.Challenges.Find(id); foreach (var kidid in model.KIdIds) { var kid = db.KIDs.Find(kidid); var challengeUrl = Url.Action("EnteredChallenge", "Challenges", new { id = challenge.ChallengeId }, protocol: Request.Url.Scheme); var message = $@"{challenger.KidName} has challenged you! The challenge is to do {challenge.Activity.ActivityName}, which will test your {challenge.Activity.ActivityCategory.Category}. How many {challenge.Activity.ScoringFactor} can you do in {challenge.Duration}? When have completed the challenge click here: {challengeUrl}"; MessageSending.MessageSender.SendEmail(kid.Email, "Challenge", message); return(RedirectToAction("Index")); } } model.challengeId = id.Value; var allKIds = db.KIDs.ToList(); ViewBag.AllKids = new MultiSelectList(allKIds, "KidiD", "KidName"); return(View(model)); }
public ActionResult SendChallenge(int?id) { var model = new SendChallengeVM { challengeId = id.Value }; var allKIds = db.KIDs.ToList(); ViewBag.AllKids = new MultiSelectList(allKIds, "KidiD", "KidName"); return(View(model)); }