public Player GetPlayer(int playerID, DataCache dataCache = null) { if (UserHelper.HasGetPermissions(playerID: playerID)) { var allPlayers = PlayerDataProvider.GetInstance().GetPlayers(dataCache: dataCache); var player = allPlayers.FirstOrDefault(t => t.ID == playerID); var teams = TeamsService.GetInstance().GetTeams(playerID: playerID, dataCache: dataCache); var games = GamesService.GetInstance().GetGames(playerID: playerID, dataCache: dataCache); var selectedPlayer = new Player() { ID = player.ID, Name = player.Name, Number = player.Number, Teams = teams, Games = games }; return(selectedPlayer); } else { throw new UnauthorizedAccessException("Nope"); } }
public async Task <bool> SavePlayer(Player player) { PlayerDataProvider dataProvider = new PlayerDataProvider(); string pcId = Environment.MachineName; bool result = await dataProvider.SavePlayer(player, pcId); return(result); }
public int AddPlayer(Player player, int?teamID = null, int?leagueID = null) { if (UserHelper.HasUpdatePermissions()) { return(PlayerDataProvider.GetInstance().AddPlayer(ConvertObjects.ConvertType(player), teamID, leagueID)); } else { throw (new UnauthorizedAccessException("nope")); } }
public void SavePlayer(Player player) { if (UserHelper.HasUpdatePermissions()) { var dtoPlayer = ConvertObjects.ConvertType(player); PlayerDataProvider.GetInstance().SavePlayer(dtoPlayer); foreach (Team t in player.Teams) { dtoPlayer.Number = t.PlayerNumber; dtoPlayer.TeamID = t.ID; PlayerDataProvider.GetInstance().SaveTeamPlayer(dtoPlayer); } } }
public List <Player> GetPlayers(int?teamID = null, int?gameID = null, int?leagueID = null, DataCache dataCache = null) { var players = PlayerDataProvider.GetInstance().GetPlayers(teamID: teamID, gameID: gameID, leagueID: leagueID, dataCache: dataCache); if (gameID.HasValue) { var dtoGame = GameDataProvider.GetInstance().GetGames(gameID: gameID, dataCache: dataCache).First(); var game = ConvertObjects.ConvertType(dtoGame); var validTeams = new List <int>() { game.Team1ID, game.Team2ID }; if (!players.Exists(p => p.TeamID == game.Team1ID)) { //ADD TEAM PLAYER var dtoPlayer = new DTOPlayer() { Name = "Team 1 Player", TeamID = game.Team1ID }; players.Add(dtoPlayer); } if (!players.Exists(p => p.TeamID == game.Team2ID)) { //ADD TEAM PLAYER var dtoPlayer = new DTOPlayer() { Name = "Team 2 Player", TeamID = game.Team2ID }; players.Add(dtoPlayer); } } return(players .Where(p => UserHelper.HasGetPermissions(playerID: p.ID, gameID: gameID)) .Select(p => new Player() { ID = p.ID, Name = p.Name, Number = p.Number, TeamID = p.TeamID }) .ToList()); }
public async Task <ActionResult <Player> > Post([FromBody] PlayerRoomBody body) { if (body.Username == null || body.AvatarUrl == null) { return(NotFound()); // 404 : most of api error } var roomDataProvider = new RoomDataProvider(); var playerDataProvider = new PlayerDataProvider(); var room = await roomDataProvider.Add(); var token = await new TokenDataProvider().Add(); var player = await playerDataProvider.Add(body.Username, body.AvatarUrl, true, room.Id, token.Id); // use `GetPlayer` to include `Token` and `Room` return(await playerDataProvider.GetPlayer(player.Id)); }
public async Task <ActionResult <Player> > Join(string identifier, [FromBody] PlayerRoomBody body) { if (body.Username == null || body.AvatarUrl == null) { return(NotFound()); // 404 : most of api error } var room = await new RoomDataProvider().GetRoom(identifier); if (room == null) { return(NotFound()); } var playerDataProvider = new PlayerDataProvider(); var token = await new TokenDataProvider().Add(); var player = await playerDataProvider.Add(body.Username, body.AvatarUrl, true, room.Id, token.Id); return(await playerDataProvider.GetPlayer(player.Id)); }
public async Task <ActionResult <Session> > Start([FromBody] StartBody body) { var sessionDataProvider = new SessionDataProvider(); var playerDataProvider = new PlayerDataProvider(); var elementDataProvider = new ElementDataProvider(); var addedSession = await sessionDataProvider.Add(body.RoomId); if (addedSession == null) { return(NotFound()); } var players = await playerDataProvider.GetPlayersByRoom(body.RoomId); players.ForEach(async p => await elementDataProvider.AddSentence(p.Id, p.Id, 1, addedSession.Id)); await _websocketHandler.SendMessageToSockets( JsonSerializer.Serialize( new BaseWebsocketEvent(WebsocketEvent.SessionStart)), body.RoomId); return(addedSession); }
public Team GetTeam(int teamID, int leagueID, DataCache dataCache = null) { var team = TeamDataProvider.GetInstance().GetTeams(teamID: teamID, leagueID: leagueID, dataCache: dataCache).First(); var players = PlayerDataProvider.GetInstance().GetPlayers(teamID: teamID, leagueID: leagueID, dataCache: dataCache); var games = GamesService.GetInstance().GetGames(teamID: teamID, leagueID: leagueID, dataCache: dataCache); var selectedTeam = new Team() { ID = team.ID, Name = team.Name, Players = players.Select(p => new Player() { ID = p.ID, Name = p.Name, Number = p.Number }).ToList(), Games = games, LeagueID = team.LeagueID, SportID = team.SportID }; return(selectedTeam); }
public List <PlayerStats> GetAllStats(int?teamID = null, int?sportID = null, int?leagueID = null, int?playerID = null, DataCache dataCache = null) { var stats = GameDataProvider.GetInstance().GetStats(teamID: teamID, leagueID: leagueID, playerID: playerID, dataCache: dataCache); var players = PlayerDataProvider.GetInstance().GetPlayers(teamID: teamID, leagueID: leagueID, playerID: playerID, dataCache: dataCache); List <Team> teamList = new List <Team>(); if (teamID.HasValue) { teamList.Add(new Team() { ID = teamID.Value, LeagueID = leagueID.Value, SportID = sportID.Value }); } else { teamList = TeamsService.GetInstance().GetTeams(leagueID: leagueID, playerID: playerID, showAll: true, dataCache: dataCache); } var statTypes = GameDataProvider.GetInstance().GetStatTypes(sportID, dataCache: dataCache); var gameStats = stats.Select(s => ConvertObjects.ConvertType2(s)).ToList(); var playerStats = new List <PlayerStats>(); foreach (var player in players) { foreach (var team in teamList) { var playerStat = new PlayerStats() { TeamID = team.ID, LeagueID = team.LeagueID, SportID = team.SportID, PlayerName = player.Name, PlayerNumber = teamID.HasValue ? player.Number : team.PlayerNumber, GameID = 0, PlayerID = player.ID, Stats = new List <Stat>() }; foreach (var statType in statTypes.Where(st => !st.IsCalculated && st.SportID == team.SportID)) { var stat = stats.Where(s => s.StatTypeID == statType.StatTypeID && s.PlayerID == player.ID && s.LeagueID == team.LeagueID).Sum(s => s.Value); playerStat.Stats.Add(new Stat() { Value = stat, StatType = ConvertObjects.ConvertType(statType) }); } playerStats.Add(playerStat); } } foreach (var playerStat in playerStats) { var playerGameStats = gameStats.Where(g => g.PlayerID == playerStat.PlayerID && g.LeagueID == playerStat.LeagueID).ToList(); foreach (var calcStat in statTypes.Where(st => st.IsCalculated && st.SportID == playerStat.SportID)) { playerStat.Stats.Add(new Stat() { StatType = ConvertObjects.ConvertType(calcStat), Value = StatsCalculations.GetValue((CalculatedStatTypes)calcStat.StatTypeID, playerGameStats) }); } } return(playerStats); }
public void ProviderTest() { var provider = new PlayerDataProvider(); provider.Initialize(); }
public void ConstructWithInjection(PlayerDataProvider playerDataProvider) { _playerDataProvider = playerDataProvider; }