public async Task <IHttpActionResult> Update(PlayerInputDto playerDto)
 {
     return(await TryCatchAsync(async() =>
     {
         await _playersServices.Update(playerDto);
         return Ok();
     }));
 }
 public async Task <IHttpActionResult> Create(PlayerInputDto playerDto)
 {
     return(await TryCatchAsync(async() =>
     {
         var player = await _playersServices.Create(playerDto);
         return Ok(player);
     }));
 }
Exemplo n.º 3
0
 public ActionResult <PlayerOutputDto> Moviment([FromBody] PlayerInputDto input)
 {
     try
     {
         var player = _playerService.Moviment(input);
         return(Ok(player));
     }
     catch (System.Exception)
     {
         return(NotFound());
     }
 }
Exemplo n.º 4
0
 public ActionResult <PlayerOutputDto> UnJoinGame([FromBody] PlayerInputDto input)
 {
     try
     {
         var player = _playerService.UnJoinGame(input);
         return(Ok(player));
     }
     catch (Exception e)
     {
         return(NotFound(e.Message));
     }
 }
Exemplo n.º 5
0
        public async Task <PlayerOutputDto> Create(PlayerInputDto playerInput)
        {
            var player = MappingConfig.Mapper().Map <Player>(playerInput);

            player = await _playersRepository.CreateAsync(player);

            if (player.Employee == null)
            {
                player.Employee = await _employeesRepository.FindAsync(player.EmployeeId);
            }

            return(MappingConfig.Mapper().Map <PlayerOutputDto>(player));
        }
Exemplo n.º 6
0
        public PlayerOutputDto UnJoinGame(PlayerInputDto input)
        {
            Player player = this._context.Players.Where(p => p.Id.Equals(input.Id)).First();

            if (player != null)
            {
                player.IsUsed = false;

                this._context.Players.Update(player);
                this._context.SaveChanges();

                return(_mapper.Map <PlayerOutputDto>(player));
            }
            else
            {
                throw new Exception(Messages.Message.PlayerNotExist);
            }
        }
Exemplo n.º 7
0
        private async Task AddGuest()
        {
            await TryCatchAsync(async() =>
            {
                var playerInput = new PlayerInputDto
                {
                    Name         = Model.Name,
                    EmployeeId   = Settings.EmployeeId,
                    IsGuest      = true,
                    WithBarbecue = Model.WithBarbecue,
                    MatchId      = Model.Match.Id
                };

                var playerOutput = await ClientApi.Players.Create(playerInput);

                MessagingCenter.Send(this, Strings.UpdateMatchPage, playerOutput);

                await NavigationService.GoBackAsync();
            });
        }
Exemplo n.º 8
0
        public PlayerOutputDto Moviment(PlayerInputDto playerToMove)
        {
            List <Dictionary <string, List <int> > > oldState = new List <Dictionary <string, List <int> > >();

            Player player = GetPlayerId(playerToMove.Id);

            if (player == null)
            {
                throw new Exception(string.Format(Messages.Message.PlayerNotFound, playerToMove.Id.ToString()));
            }

            Game game = GetGame(player.GameId);

            if (player.Name.ToLower() == game.CurrentTurn.ToLower())
            {
                player.XPosition = playerToMove.XPosition;
                player.YPosition = playerToMove.YPosition;

                if (!string.IsNullOrEmpty(game.GameState))
                {
                    Dictionary <string, List <int> > gameState = new Dictionary <string, List <int> >();

                    gameState.Add(player.Name.ToLower(),
                                  new List <int>(new int[]
                                                 { player.XPosition,
                                                   player.YPosition }));

                    oldState = JsonConvert.DeserializeObject <List <Dictionary <string, List <int> > > >(game.GameState).ToList();

                    oldState.Add(gameState);

                    string currentState = JsonConvert.SerializeObject(oldState);

                    game.GameState = currentState;
                }
                else
                {
                    Dictionary <string, List <int> > gameState = new Dictionary <string, List <int> >();

                    gameState.Add(player.Name.ToLower(),
                                  new List <int>(new int[]
                                                 { player.XPosition,
                                                   player.YPosition }));

                    oldState = new List <Dictionary <string, List <int> > >();

                    oldState.Add(gameState);

                    string currentState = JsonConvert.SerializeObject(oldState);

                    game.GameState = currentState;
                }

                if (game.CurrentTurn.Equals(POSITION_X))
                {
                    game.CurrentTurn = POSITION_Y;
                }
                else
                {
                    game.CurrentTurn = POSITION_X;
                }

                game.Status = CheckPlayerWins(game.GameState);

                this._context.Players.Update(player);
                this._context.Games.Update(game);
                this._context.SaveChanges();

                return(_mapper.Map <PlayerOutputDto>(player));
            }
            else
            {
                throw new Exception(Messages.Message.NotPlayerTurn);
            }
        }
Exemplo n.º 9
0
 public async Task Update(PlayerInputDto playerInput)
 {
     var player = MappingConfig.Mapper().Map <Player>(playerInput);
     await _playersRepository.UpdateAsync(player);
 }