public ActionResult AssignToRetreatChooseBedCode(int retreatId, int participantId) { var bedCodes = _bedRepository.GetAll().Select(x => x.Code).OrderBy(x => x); var model = new AssignParticipantToRetreatChooseBedCodeViewModel { RetreatId = retreatId, ParticipantId = participantId, BedCodeList = new[] {"(none)"}.Concat(bedCodes).ToArray(), BedCode = "(none)", }; return View(model); }
public ActionResult AssignToRetreatChooseBedCode(AssignParticipantToRetreatChooseBedCodeViewModel postBack) { var retreat = _retreatRepository.GetById(postBack.RetreatId); var participant = _participantRepository.GetById(postBack.ParticipantId); Bed bed = null; if (!string.IsNullOrEmpty(postBack.BedCode)) bed = _bedRepository.GetBy(postBack.BedCode); // TODO: this retreat.AddParticipant(participant, bed); _retreatRepository.Save(retreat); // TODO: do we need to remove the participant from any retreat they were previously // registered for? What if they were registered for multiple retreats? Do we // support that? return this.RedirectToAction<RetreatController>(c => c.Index(retreat.Id)); }