public ActionResult Make(CreateChallengeViewModel model) { model.ChallengerId = CurrentUser.Id; var opponent = UnitOfWork.Find<ChessUser>(model.OpponentId); var challenge = new Challenge() { ChallengingPlayer = CurrentUser, DarkPlayer = model.IsPlayerDark ? CurrentUser : opponent, LightPlayer = !model.IsPlayerDark ? CurrentUser : opponent, DateTime = DateTime.Now, Title = model.ChallengeTitle }; UnitOfWork.Add(challenge); UnitOfWork.Commit(); return RedirectToAction("Make"); }
public ActionResult Make() { var playersToChallenge = UnitOfWork.All<ChessUser>(p => p.Id != CurrentUser.Id); var currentChallenges = UnitOfWork.All<Challenge>(c => c.ChallengingPlayer.Id == CurrentUser.Id); var model = new CreateChallengeViewModel { Players = playersToChallenge.Select(AutoMapper.Mapper.Map<PlayerViewModel>).ToList(), CurrentChallenges = currentChallenges.Select(c => new ChallengeViewModel { Accepted = c.Accepted.HasValue && c.Accepted.Value, ChallengerId = c.ChallengingPlayer.Id, ChallengeTitle = c.Title, DarkPlayerId = c.DarkPlayer.Id, LightPlayerId = c.LightPlayer.Id }).ToList() }; return View(model); }