示例#1
0
        public IActionResult GameDetails(int gameId, int page = 1)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var currentGame = this.games.ById(gameId);

            if (currentGame == null)
            {
                return(NotFound());
            }

            var hTGames = this.games.TeamGames(currentGame.MatchDate, currentGame.HomeTeam.Id, page);
            var aTGames = this.games.TeamGames(currentGame.MatchDate, currentGame.AwayTeam.Id, page);
            var gamesBetweenBothTeams = this.games.BetweenBothTeams(currentGame.MatchDate, currentGame.HomeTeam.Id, currentGame.AwayTeam.Id);

            var model = new GameDetailsVM
            {
                CurrentGame          = currentGame,
                HomeTeamGames        = hTGames,
                AwayTeamGames        = aTGames,
                GamesBeteenBothTeams = gamesBetweenBothTeams
            };

            return(View(model));
        }
示例#2
0
        protected override void OnAppearing()
        {
            base.OnAppearing();

            gameDetailsVM  = new GameDetailsVM(g);
            BindingContext = gameDetailsVM;
        }
示例#3
0
        public ActionResult Game(int id)
        {
            using (var context = new GameContext())
            {
                var game = context.GameSessions.SingleOrDefault(s => s.Id == id);

                if (game == null)
                {
                    return(HttpNotFound());
                }

                var model = new GameDetailsVM
                {
                    Id           = game.Id,
                    Name         = game.Name,
                    Participants = game.Users.Select(u => u.UserName),
                    Teams        = game.Teams.Select(t => new TeamVM
                    {
                        Name    = t.Name,
                        Members = t.Users.Select(u => u.UserName).ToList()
                    }).ToList(),
                    CanEditGame = UserHelper.GetCurrentUser().IsAdmin || game.CreatedById == UserHelper.GetCurrentUser().Id
                };

                return(View(model));
            }
        }
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            else
            {
                Game game     = _gameService.GetGameDetails((int)id);
                Game userGame = _gameService.GetGameDetailsByUser((int)id);

                if (game == null)
                {
                    return(NotFound());
                }

                if (User.Identity.IsAuthenticated)
                {
                    User user = await _userManager.FindByNameAsync(User.Identity.Name);

                    foreach (var item in userGame.GameUsers)
                    {
                        if (user.Id == item.UserId)
                        {
                            GameDetailsVM model = new GameDetailsVM()
                            {
                                Game       = game,
                                Categories = game.CategoryGames.Select(x => x.Category).ToList(),
                                GameUsers  = userGame.GameUsers.Where(x => x.GameId == id).ToList(),
                                userId     = user.Id
                            };
                            return(View(model));
                        }
                    }
                    GameDetailsVM modelNull = new GameDetailsVM()
                    {
                        Game       = game,
                        Categories = game.CategoryGames.Select(x => x.Category).ToList(),
                        GameUsers  = userGame.GameUsers.Where(x => x.GameId == id).ToList(),
                        userId     = null
                    };
                    return(View(modelNull));
                }
                else
                {
                    return(View(new GameDetailsVM()
                    {
                        Game = game,
                        Categories = game.CategoryGames.Select(x => x.Category).ToList(),
                    }));
                }
            }
        }
        // GET: /<controller>/
        public async Task <IActionResult> Index(int id)
        {
            GameDetailsVM tempGame = await dataManager.getGameByID(id);

            tempGame.CurrentPlayerId = await dataManager.GetSingleUserId(User.Identity.Name);

            var allField = await dataManager.ListFields();

            var theFieldCoord = allField.Where(o => o.Name == tempGame.Field).Select(o => o.Coordinates).SingleOrDefault();

            tempGame.FieldId = theFieldCoord;
            return(View(tempGame));
        }
示例#6
0
        public async Task <GameDetailsVM> getGameByID(int id)
        {
            var game = await getWebApi($"game/index/{id}");

            var           result = JsonConvert.DeserializeObject <Game>(game);
            GameDetailsVM gdv    = new GameDetailsVM();

            gdv.Description = result.Description;
            gdv.Field       = await GetFieldById(result.Field);

            gdv.Id         = result.Id;
            gdv.IsActive   = result.IsActive;
            gdv.IsPublic   = result.IsPublic;
            gdv.OpenSlots  = result.MaxSlots;
            gdv.Owner      = result.Owner;
            gdv.StartTime  = result.StartTime;
            gdv.PlayerList = await PlayerByGameId(id);

            return(gdv);
        }
示例#7
0
        public void UpdateGame(GameDetailsVM gameToChange)
        {
            var fieldId = ListFields().Where(o => o.Name == gameToChange.Field).Select(o => o.Id).SingleOrDefault();

            SqlConnection myConnection = new SqlConnection();

            myConnection.ConnectionString = connectionString;

            try
            {
                myConnection.Open();

                SqlCommand cmd = new SqlCommand();
                cmd.Connection  = myConnection;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "Update_Game";
                cmd.Parameters.Add(new SqlParameter("@Description", string.IsNullOrWhiteSpace(gameToChange.Description) ? "" : gameToChange.Description));
                cmd.Parameters.Add(new SqlParameter("@Field", fieldId));

                cmd.Parameters.Add(new SqlParameter("@MaxSlots", gameToChange.OpenSlots > -1 ? gameToChange.OpenSlots : 0));
                //cmd.Parameters.Add(new SqlParameter("@Owner", gameToChange.Owner));
                cmd.Parameters.Add(new SqlParameter("@StartTime", gameToChange.StartTime));
                cmd.Parameters.Add(new SqlParameter("@gameId", gameToChange.Id));


                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                myConnection.Close();
            }
        }
        //[HttpPost]
        //public async Task<IActionResult> CreateGame(CreateGameVM createGameVm)
        //{
        //    var userId = await dataManager.GetSingleUserId(User.Identity.Name);
        //    var newGameId = await dataManager.CreateGame(createGameVm, userId);
        //    if (newGameId != 0)
        //    {
        //        return RedirectToAction("game", "Index", newGameId);
        //    }
        //    else
        //        return RedirectToAction("game", "CreateGame");

        //}

        public IActionResult Addplayer(GameDetailsVM gameDetails)
        {
            dataManager.AddPlayerToGame(gameDetails.CurrentPlayerId, gameDetails.Id);

            return(RedirectToAction("Index", new { id = gameDetails.Id }));
        }