Exemple #1
0
        public async Task AddPlayerInGuild(GuildAddPlayer guildAddPlayer)
        {
            if (string.IsNullOrEmpty(guildAddPlayer.Id))
            {
                throw new ParameterException("Id is null");
            }
            if (string.IsNullOrEmpty(guildAddPlayer.PlayerId))
            {
                throw new ParameterException("Player Id is null");
            }

            try
            {
                var filter = new FilterDefinitionBuilder <Guild>().Eq(g => g.Id, guildAddPlayer.Id);
                var guild  = await GetById(guildAddPlayer.Id);

                if (guild.Players.Contains(guildAddPlayer.PlayerId))
                {
                    throw new Exception("Player was added on guild!");
                }
                guild.Players.Add(guildAddPlayer.PlayerId);
                var guildPlayerAdded = await _mongoDB.Update(filter, guild);

                if (guildPlayerAdded == null)
                {
                    throw new NotFoundException("Guild not found");
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Exemple #2
0
        public async Task <IActionResult> AddPlayer(
            [FromBody] GuildAddPlayer guildAddPlayer,
            [FromServices] IGuildBusiness guildBusiness
            )
        {
            try
            {
                await guildBusiness.AddPlayerInGuild(guildAddPlayer);

                return(NoContent());
            }
            catch (ParameterException pe)
            {
                return(BadRequest(pe.Message));
            }
            catch (NotFoundException ne)
            {
                return(NotFound(ne.Message));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }