public async System.Threading.Tasks.Task <Dota2PlayerModel.RootObject> Dota2Game() { //Dota2Model.RootObject dota2 = null; string url = "https://api.steampowered.com/IDOTA2Match_570/GetMatchHistory/V001/?key=10608324BF5A95D48936E6471867E64E&matches_requested=10"; Dota2PlayerModel.RootObject data = null; using (var client = new HttpClient()) { HttpResponseMessage response = await client.GetAsync(url).ConfigureAwait(false); if (response.IsSuccessStatusCode) { var jsonResponse = response.Content.ReadAsStringAsync().Result; data = JsonConvert.DeserializeObject <Dota2PlayerModel.RootObject>(jsonResponse); } } return(data); }
public async System.Threading.Tasks.Task <ActionResult> Dota2Details() { //Dota2LeagueModel.RootObject dota2leagues = null; //dota2leagues = await new Dota2Repository().Dota2LeagueList(); List <Dota2League> dota2leagues = new Dota2Repository().Dota2LeagueList(); List <object> dota2gamematchid = new List <object>(); List <Dota2ViewModel> d2vmList = new List <Dota2ViewModel>(); foreach (var res in dota2leagues) { Dota2ViewModel d2vm = new Dota2ViewModel(); Dota2PlayerModel.RootObject dota2game = await new Dota2Repository().GetDota2Game(res.leagueid); //leaguesname.Add(res.name); d2vm.leaguename = res; //d2vm.match = dota2game; List <Dota2PlayerMatchModel> d2pm = new List <Dota2PlayerMatchModel>(); foreach (var match in dota2game.result.matches) { if (match.series_type != 0 || match.dire_team_id != 0 && match.radiant_team_id != 0) { //string m = match.match_id.ToString(); //dota2gamematchid.Add(m); Dota2PlayerMatchModel d2 = new Dota2PlayerMatchModel(); string d2tmradian = "未知"; string d2tmdire = "未知"; d2tmradian = await new Dota2Repository().GetDota2Teams(match.radiant_team_id.ToString()); d2tmdire = await new Dota2Repository().GetDota2Teams(match.dire_team_id.ToString()); // gpvm.TeamA = teamlist.Where(p => p.sn == gamepost.TeamASn).FirstOrDefault(); d2.radiant_team = d2tmradian; d2.dire_team = d2tmdire; d2.strar_time = (new DateTime(1970, 1, 1, 0, 0, 0)).AddHours(8).AddSeconds(match.start_time); d2.timeid = match.series_id; d2.match_id = match.match_id; Dota2PlayerListModel.RootObject dota2gamelist = await new Dota2Repository().GetDota2List(match.match_id.ToString()); d2.match_name = dota2gamelist.result.dire_name + " VS " + dota2gamelist.result.radiant_name; d2.Dota2PlayerList = dota2gamelist; if (d2.d2BO == null) { var bo = 1; foreach (var item in d2pm) { if (d2.timeid == item.timeid) { bo += 1; } } d2.d2BO = bo; } d2pm.Add(d2); } } foreach (var itemcount in d2pm) { var d2count = 0; for (int d2i = 0; d2i < d2pm.Count(); d2i++) { if (itemcount.timeid == d2pm[d2i].timeid) { d2count++; } } itemcount.d2BOcount = d2count; } d2vm.d2match = d2pm; d2vmList.Add(d2vm); } return(View(d2vmList)); }