public PlayerModel GetPlayerByUserId(int userId)
        {
            var playerModel = PlayerModel.FromDbObject(_entities.players.FirstOrDefault(x => x.fk_user == userId));

            if (playerModel == null)
            {
                throw PlayerNotFoundException.FromUserId(userId);
            }

            return(playerModel);
        }
        public PlayerModel GetPlayerByName(string playerName)
        {
            var playerModel =
                PlayerModel.FromDbObject(_entities.players.FirstOrDefault(x => x.name.Equals(playerName)));

            if (playerModel == null)
            {
                throw PlayerNotFoundException.FromName(playerName);
            }

            return(playerModel);
        }
예제 #3
0
        public static Domain.Player.Player GetPlayer(string methodName, ILogger logger,
                                                     List <Domain.Player.Player> players, string playerName)
        {
            logger.LogInformation($"{methodName}: Retrieving player '{playerName}'");

            var player = players.AsEnumerable().SingleOrDefault(p => p.FullName == playerName);

            if (player == null)
            {
                var ex = new PlayerNotFoundException(playerName);
                logger.LogError(ex, $"{methodName}: Player '{playerName}' was not found");
                throw ex;
            }
            logger.LogInformation($"{methodName}: Player '{playerName}' was found");
            return(player);
        }
예제 #4
0
        private async Task <T> PrepareResourceAsync <T>(string uri)
        {
            var client = new HttpClient
            {
                BaseAddress = new Uri(ServerUrl())
            };

            var result = await client.GetAsync(uri);

            var resultContentStream = await result.Content.ReadAsStreamAsync();

            var serializer = new XmlSerializer(typeof(T));
            T   resource;

            try
            {
                resource = (T)serializer.Deserialize(resultContentStream);
            }
            catch (Exception ex)
            {
                var resultText = await result.Content.ReadAsStringAsync();

                if (result.Content.Headers.ContentType != MediaTypeHeaderValue.Parse("application/xml"))
                {
                    if (resultText.Contains("Player not found."))
                    {
                        ex = new PlayerNotFoundException();
                    }
                    if (resultText.Contains("Parameters \"category\" and \"type\" must be set."))
                    {
                        ex = new HighscoreParametersInvalidException();
                    }
                }
                else
                {
                    ex = new ServerNotFoundException();
                }
                throw ex;
            }
            return(resource);
        }
        public void AddGuildMember(string playerName, string guildName)
        {
            var getPlayerModel = PlayerModel.FromDbObject(_entities.players.FirstOrDefault(x => x.name.Equals(playerName)));

            if (getPlayerModel == null)
            {
                throw PlayerNotFoundException.FromName(playerName);
            }

            var guildModel = GuildModel.FromDbObject(_entities.guilds.FirstOrDefault(x => x.name.Equals(guildName)));

            if (guildModel == null)
            {
                throw GuildNotFoundException.FromName(guildName);
            }

            _entities.guild_members.Add(new guild_members
            {
                fk_guild  = guildModel.Id,
                fk_player = getPlayerModel.Id
            });
            _entities.SaveChanges();
        }