public async Task <IActionResult> Create([Bind("UserTeamId,PlayerId,Id")] UserTeamPlayers userTeamPlayers)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    await _crud.AddPlayer(userTeamPlayers);

                    return(RedirectToAction("Index", new { id = userTeamPlayers.UserTeamId }));
                }
                catch (OutOfBudgetException)
                {
                    ViewData["Error"] = "Out of Budget";
                    return(RedirectToAction("Error", "Home"));
                }
            }
            ViewData["Budget"]       = $"£{_crud.RetrieveUserTeam(userTeamPlayers.UserTeamId).FirstOrDefault().Budget}0";
            ViewData["PlayerId"]     = new SelectList(_crud.RetrievePlayers(), "PlayerId", "FirstName", "LastName");
            ViewData["UserTeamName"] = _crud.RetrieveUserTeam(userTeamPlayers.UserTeamId).FirstOrDefault().TeamName;
            ViewBag.PlayerId         = _crud.RetrievePlayers().Select(p => new SelectListItem
            {
                Text  = p.FirstName + " " + p.LastName + ": £" + p.Price + "0",
                Value = p.PlayerId.ToString()
            });
            ViewData["UserTeamId"] = new SelectList(_crud.RetrieveUserTeam(userTeamPlayers.UserTeamId), "UserTeamId", "TeamName");

            return(View(userTeamPlayers));
        }
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            UserTeamPlayers = await _context.UserTeamPlayers.FindAsync(id);

            if (UserTeamPlayers != null)
            {
                _context.UserTeamPlayers.Remove(UserTeamPlayers);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            UserTeamPlayers = await _context.UserTeamPlayers
                              .Include(u => u.Player)
                              .Include(u => u.UserTeam).FirstOrDefaultAsync(m => m.Id == id);

            if (UserTeamPlayers == null)
            {
                return(NotFound());
            }
            return(Page());
        }
Пример #4
0
        public async Task AddPlayer(UserTeamPlayers userTeamPlayers)
        {
            var player = _context.Players.Where(p => p.PlayerId == userTeamPlayers.PlayerId).FirstOrDefault();
            var team   = _context.UserTeams.Where(u => u.UserTeamId == userTeamPlayers.UserTeamId).FirstOrDefault();

            var numberOfPlayersInTeam = RetrieveUserTeamsPlayers(userTeamPlayers.UserTeamId).Count();
            var isPlayerAlreadyInTeam = _context.UserTeamPlayers.Where(ut => ut.UserTeamId == userTeamPlayers.UserTeamId).Where(ut => ut.PlayerId == userTeamPlayers.PlayerId).Count();

            if (isPlayerAlreadyInTeam != 1)
            {
                if (numberOfPlayersInTeam < 6)
                {
                    if (CheckBudget(team.Budget, player.Price) == true)
                    {
                        //Update budget and then add the player
                        team.Budget -= player.Price;
                        _context.UserTeams.Where(ut => ut.UserTeamId == team.UserTeamId);
                        await _context.SaveChangesAsync();

                        var newTeam = new UserTeamPlayers {
                            PlayerId = player.PlayerId, UserTeamId = team.UserTeamId
                        };
                        _context.UserTeamPlayers.Add(newTeam);
                        await _context.SaveChangesAsync();
                    }
                    else
                    {
                        throw new OutOfBudgetException();
                    }
                }
                else
                {
                    throw new TooManyPlayerException();
                }
            }
        }
        private void EditMode(int p)
        {
            BoardSquaresRepository db = new BoardSquaresRepository();

            Entity          = Get(p);
            UserTeamPlayers = db.GetUserTeamPlayersByGame(Entity.UserTeamID);
            if (UserTeamPlayers.Any())
            {
                foreach (var userTeamPlayer in UserTeamPlayers)
                {
                    var player = db.Context.Players.Find(userTeamPlayer.PlayerID);
                    switch (player.PlayerPosition)
                    {
                    case "QB":
                        if (QB1Player.PlayerID == 0)
                        {
                            QB1Player = player;
                        }
                        QB2Player = player;
                        break;

                    case "K":
                        KPlayer = player;
                        break;

                    case "DEF":
                        DEFPlayer = player;
                        break;

                    case "TE":
                        TEPlayer = player;
                        break;

                    case "RB":
                        if (RB1Player.PlayerID == 0)
                        {
                            RB1Player = player;
                        }
                        else
                        {
                            if (RB2Player.PlayerID == 0)
                            {
                                RB2Player = player;
                            }
                            else
                            {
                                if (RB3Player.PlayerID == 0)
                                {
                                    RB3Player = player;
                                }
                                RB4Player = player;
                            }
                        }
                        break;

                    case "WR":
                        if (WR1Player.PlayerID == 0)
                        {
                            WR1Player = player;
                        }
                        else
                        {
                            if (WR2Player.PlayerID == 0)
                            {
                                WR2Player = player;
                            }
                            else
                            {
                                if (WR3Player.PlayerID == 0)
                                {
                                    WR3Player = player;
                                }
                                else
                                {
                                    if (WR4Player.PlayerID == 0)
                                    {
                                        WR4Player = player;
                                    }
                                    WR5Player = player;
                                }
                            }
                        }
                        break;
                    }
                }
                var tb = db.GetTieBreakerPlayers(Entity.UserTeamID);
                TieBreakerPlayer1 = tb.First();
                TieBreakerPlayer2 = tb.Last();
            }
            IsTeamDetailVisible   = true;
            IsNewTeamAreaVisible  = false;
            IsTeamListAreaVisible = false;
            IsPlayerDetailVisible = false;
        }