/// <summary> /// returns two Teamnames with their Roster (Faction1 / Faction2) /// </summary> /// <param name="playerID"></param> /// <returns>Teamnames with roster</returns> public FaceitLiveMatchModel getFaceitLiveMatch(string playerID) { WebClient webClient = GetWebClient(); string returnFaceitMatchString = webClient.DownloadString("https://api.faceit.com/match/v1/matches/groupByState?userId=" + playerID).Replace(ongoing, state).Replace(ready, state).Replace(voting, state).ToString(); FaceitLiveMatchModel returnFaceitMatch = JsonConvert.DeserializeObject <FaceitLiveMatchModel>(returnFaceitMatchString); return(returnFaceitMatch); }
/// <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); }