public ActionResult GetBasisForBet(string userName = null) { if (userName == null) { userName = User.Identity.GetUserName(); } else if (!EventHelpers.EventHasStarted()) { return(CreateJsonError("Du kan ikke se andres spill før VM har startet")); } var gameSetup = Resources.gameSetupRussia; var betViewModel = _javaScriptSerializer.Deserialize <BetViewModel>(gameSetup); betViewModel.Players = _playerService.GetPlayerViewModels(); var userBet = GetUserBetForUserWithUserName(userName); if (userBet.Bets == null) { return(ToJsonResult(betViewModel)); } betViewModel.SelectedTopScorer = GetSelectedTopScorer(userBet); foreach (var group in betViewModel.Groups) { BetMappers.SetValuesFromExistingBets(group.Games, userBet); } MapPlayoffBetsToGameViewModels(betViewModel.PlayoffGames, userBet); return(ToJsonResult(betViewModel)); }
public ActionResult SavePersonBet(string groupGamesResult, string playoffGamesResult, string selectedTopScorer, int sportsEventId = 1) { if (!User.Identity.IsAuthenticated) { return(CreateJsonError("Du er ikke logget inn.")); } if (EventHelpers.EventHasStarted()) { return(CreateJsonError("VM er i gang! For sent å lagre spill nå :)")); } var groupGamesResultViewModel = _javaScriptSerializer.Deserialize <List <GameResultViewModel> >(groupGamesResult); var playoffGamesResultViewModel = _javaScriptSerializer.Deserialize <List <PlayoffBetViewModel> >(playoffGamesResult); var playerViewModel = new PlayerViewModel(); if (selectedTopScorer != null) { playerViewModel = _javaScriptSerializer.Deserialize <PlayerViewModel>(selectedTopScorer); } var insertUserBetSuccess = CreateAndInsertUserBet(sportsEventId, groupGamesResultViewModel, playerViewModel, playoffGamesResultViewModel); if (!insertUserBetSuccess) { return(CreateJsonError( "Lagring mislyktes. Vennligst sørg for at ingen finalespillkamper ender uavgjort.")); } return(Content("Ditt spill er lagret!")); }
private List <TodaysGamesSpecification> CreateTodaysGamesSpecification( IEnumerable <Game> todaysGames, Results result, List <UserBet> userBets, List <Team> teams) { var resultUserBet = new UserBet(); if (EventHelpers.EventHasStarted()) { if (result != null) { resultUserBet = _userBetRepository.GetUserBetById(result.UserBetId); } return(todaysGames .Select(todaysGame => MapTodaysGamesAndBets(todaysGame, userBets, teams, resultUserBet)).ToList()); } return(todaysGames.Select(todaysGame => MapOnlyTodaysGames(todaysGame, teams)).ToList()); }