public ActionResult AddPicks() { //TODO load picks if exist for current week var fixtures = _gameService.GetGameWeekFixtures(); var playerId = Guid.Empty; var viewModel = new AddPicksViewModel { PlayerId = playerId }; foreach (var fixture in fixtures) { viewModel.PickItems.Add(new PickItem { HomeTeamName = fixture.HomeTeam.Name, HomeTeamBadgeUrl = fixture.HomeTeam.BadgeUrl, AwayTeamName = fixture.AwayTeam.Name, AwayTeamBadgeUrl = fixture.AwayTeam.BadgeUrl, KickOffTime = fixture.KickOffDateTime, FixtureId = fixture.Id }); } return(View(viewModel)); }
public ActionResult Index() { var playerId = CurrentUser.Players.FirstOrDefault()?.Id; if (playerId == null) { throw new ArgumentNullException(nameof(playerId)); } var viewModel = new AddPicksViewModel(); var currentGameweek = _gameService.GetCurrentGameweek(); viewModel.Gameweek = currentGameweek; DateTime openDate, closeDate; _gameService.PopulatePickOpenCloseDates(out openDate, out closeDate); viewModel.OpenDateTime = openDate; viewModel.CloseDateTime = closeDate; var fixtures = _gameService.GetGameWeekFixtures(); foreach (var fixture in fixtures.OrderBy(f => f.KickOffDateTime)) { viewModel.PickItems.Add(new PickItem { HomeTeamName = fixture.HomeTeam.Name, HomeTeamBadgeUrl = fixture.HomeTeam.BadgeUrl, AwayTeamName = fixture.AwayTeam.Name, AwayTeamBadgeUrl = fixture.AwayTeam.BadgeUrl, KickOffTime = fixture.KickOffDateTime, FixtureId = fixture.Id }); } var picks = _gameService.GetPlayerPicks((Guid)playerId, currentGameweek); if (picks.Any()) { foreach (var pick in picks) { var pickitem = viewModel.PickItems.Where(pi => pi.FixtureId == pick.FixtureId).SingleOrDefault(); if (pickitem != null) { pickitem.HomeScore = pick.HomeScore.ToString(); pickitem.AwayScore = pick.AwayScore.ToString(); pickitem.Banker = pick.Banker; pickitem.Double = pick.Double; } } } viewModel.ReadOnly = !_gameService.IsGameweekOpen(currentGameweek); return(View(viewModel)); }
public ActionResult AddPicks(AddPicksViewModel viewModel) { if (!ModelState.IsValid) { var errors = ModelState.Values.SelectMany(v => v.Errors); return(View(viewModel)); } viewModel.PickItems.ForEach(item => { _gameService.AddPick(viewModel.PlayerId, item.FixtureId, int.Parse(item.HomeScore), int.Parse(item.AwayScore), item.Banker, item.Double); }); return(View(viewModel)); }
public ActionResult Index(AddPicksViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var playerId = CurrentUser.Players.FirstOrDefault()?.Id; if (playerId == null) { throw new ArgumentNullException(nameof(playerId)); } model.PickItems.ForEach(item => { _gameService.AddPick((Guid)playerId, item.FixtureId, int.Parse(item.HomeScore), int.Parse(item.AwayScore), item.Banker, item.Double); }); AddSuccess("Scores sucessfully updated"); return(RedirectToAction("Index")); }