/// <summary> /// return of the FaceitGUID and FaceitName based on the SteamID /// </summary> /// <param name="steamID"></param> /// <returns></returns> public Tuple <string, string> FaceitUserDetails(string steamID) { try { var _faceitApi = new Faceitapi(); string getPlayerGuid = ""; string getPlayerName = ""; FaceitGameModel getFaceitPlayer = _faceitApi.getFaceitUserInfo(steamID); foreach (var Player in getFaceitPlayer.payload.players.results) { if (Player.games.Count == 0) { continue; } for (int i = 0; i < Player.games.Count; i++) { if (Player.games[i].name == "csgo") { getPlayerName = Player.nickname; getPlayerGuid = Player.guid; return(Tuple.Create(getPlayerGuid, getPlayerName)); } } } return(null); } catch { return(null); } }
/// <summary> /// /// </summary> /// <param name="playerID"></param> /// <param name="nickname"></param> /// <returns>Last FaceitMatch</returns> public FaceitLastMatch[] getFaceitLastMatchDetails(string playerID, string nickname) { var model = new Faceitmatch(); var _faceitApi = new Faceitapi(); FaceitLastMatch[] LastMatch = _faceitApi.getFaceitHistory(playerID); return(LastMatch); }
/// <summary> /// /// </summary> /// <param name="faceitId"></param> /// <param name="historyLength"></param> /// <param name="calculationLength"></param> /// <returns></returns> public Faceitmatch getFaceitMatchDetails(string playerID, string nickname) { var model = new Faceitmatch(); var _faceitApi = new Faceitapi(); FaceitLiveMatchModel LiveMatch = _faceitApi.getFaceitLiveMatch(playerID); var x = LiveMatch; if (LiveMatch.payload.STATE != null) { var test = LiveMatch.payload.STATE[0].teams.faction1.roster; int ownNumber = (CheckFaction(LiveMatch.payload.STATE[0].teams.faction1.roster, playerID)) ? 1 : 2; int enemyNumber = (ownNumber == 1) ? 2 : 1; int Rostercount = LiveMatch.payload.STATE[0].teams.faction1.roster.Count; foreach (dynamic User in LiveMatch.payload.STATE[0].teams.faction1.roster) { if (ownNumber == 1) { var FaceitUs = new FaceitUserInfos(); model.ownTeamName = LiveMatch.payload.STATE[0].teams.faction1.name; model.ownTeamElo += _faceitApi.getFaceitUserDetails(User.nickname).payload.games.csgo.faceit_elo; } else { var FaceitUs = new FaceitUserInfos(); model.ownTeamName = LiveMatch.payload.STATE[0].teams.faction2.name; model.ownTeamElo += _faceitApi.getFaceitUserDetails(User.nickname).payload.games.csgo.faceit_elo; } } foreach (dynamic User in LiveMatch.payload.STATE[0].teams.faction2.roster) { if (ownNumber == 2) { var FaceitUs = new FaceitUserInfos(); model.enemyTeamName = LiveMatch.payload.STATE[0].teams.faction1.name; model.enemyTeamElo += _faceitApi.getFaceitUserDetails(User.nickname).payload.games.csgo.faceit_elo; } else { var FaceitUs = new FaceitUserInfos(); model.enemyTeamName = LiveMatch.payload.STATE[0].teams.faction2.name; model.enemyTeamElo += _faceitApi.getFaceitUserDetails(User.nickname).payload.games.csgo.faceit_elo; } } model.ownTeamElo = model.ownTeamElo / Rostercount; model.enemyTeamElo = model.enemyTeamElo / Rostercount; model.ownTeamWinElo = calculateRating(model.ownTeamElo, model.enemyTeamElo); model.enemyTeamWinElo = 50 - model.ownTeamWinElo; return(model); } return(null); }
public FacaeitLifetimeStats getFaceitLifetimeStats(string faceitId, string faceitName) { var model = new Faceitmatch(); var _faceitApi = new Faceitapi(); FacaeitLifetimeStats LastMatch = _faceitApi.getFaceitLifetimeStats(faceitId); LastMatch.lifetime.Elo = _faceitApi.getFaceitUserDetails(faceitName).payload.games.csgo.faceit_elo; LastMatch.lifetime.Level = _faceitApi.getFaceitUserDetails(faceitName).payload.games.csgo.skill_level; return(LastMatch); }
/// <summary> /// Get FaceitAvg Stats with the historyLength and the calculationLength /// </summary> /// <param name="faceitId"></param> /// <param name="historyLength"></param> /// <param name="calculationLength"></param> /// <returns></returns> public FaceitUserStats FaceitAvgElo(string faceitId, int historyLength = 50, int calculationLength = 20) { int count = 0; var userStats = new FaceitUserStats(); var _faceitApi = new Faceitapi(); FaceitLastMatch[] UserHistory = _faceitApi.getFaceitHistory(faceitId, historyLength); //get Object of all Matches foreach (dynamic Matches in UserHistory) { if (Matches.gameMode == "5v5") { count++; userStats = getSumOfStats(Matches, userStats); if (count >= calculationLength) { break; } } } userStats = getAvgStats(userStats, count); return(userStats); }