コード例 #1
0
 public Link(SportEnum sport, Uri uri, string leagueName, string additionaldata = null)
 {
     Sport          = sport;
     Uri            = uri;
     AdditionalData = additionaldata;
     LeagueName     = leagueName;
 }
コード例 #2
0
 public Link(SportEnum sport, Uri uri, string leagueName, int mapNumber, string additionaldata = null)
 {
     Sport          = sport;
     Uri            = uri;
     AdditionalData = additionaldata;
     LeagueName     = leagueName;
     MapNumber      = mapNumber;
 }
コード例 #3
0
 public Link(SportEnum sport, Uri uri, string leagueName, int mapNumber, int bestOf, int scoreHome, int scoreAway, string additionaldata = null)
 {
     Sport          = sport;
     Uri            = uri;
     AdditionalData = additionaldata;
     LeagueName     = leagueName;
     MapNumber      = mapNumber;
     BestOf         = bestOf;
     ScoreHome      = scoreHome;
     ScoreAway      = scoreAway;
 }
コード例 #4
0
        public static void GetActiveGameIds()
        {
            _links = new List <Link>();
            var response = _client.GetStringAsync($"http://1zplay.com/api/live_schedules?_={getEpochSeconds()}&category=all").Result;

            if (string.IsNullOrEmpty(response))
            {
                return;
            }
            var json = JArray.Parse(response);

            foreach (var game in json)
            {
                var category  = game["category"]?.ToString();
                var gameState = game["state"]?.ToString();
                if (!string.IsNullOrEmpty(category) && gameState != null && gameState == "start")
                {
                    SportEnum sport     = SportEnum.Undefined;
                    Uri       uri       = null;
                    string    league    = string.Empty;
                    string    homeTeam  = string.Empty;
                    int       bestOf    = 0;
                    int       mapNumber = 0;
                    int       scoreHome = 0;
                    int       scoreAway = 0;
                    switch (category)
                    {
                    case "csgo":
                        var websocketHandshake = game["csgo_schedule"].ToString();
                        _csIds.Add(websocketHandshake);
                        continue;

                    case "lol":
                        var id = game["live_match"]?["id"]?.ToString() ?? game["_id"].ToString();
                        bestOf    = int.Parse(game["round"].ToString());
                        sport     = SportEnum.LeagueOfLegends;
                        league    = game["league"]["name"].ToString();
                        scoreHome = int.Parse(game["left_score"].ToString());
                        scoreAway = int.Parse(game["right_score"].ToString());
                        homeTeam  = game["left_team"]["name"].ToString();
                        mapNumber = bestOf == 1 ? 1 : int.Parse(game["live_match"]["index"].ToString());
                        uri       = new Uri(string.Format(_specificLoLUrl, id.Trim(), getEpochSeconds()));
                        _links.Add(new Link(sport, uri)
                        {
                            BestOf       = bestOf,
                            ScoreHome    = scoreHome,
                            ScoreAway    = scoreAway,
                            HomeTeamName = homeTeam,
                            MapNumber    = mapNumber,
                            LeagueName   = league,
                        });
                        continue;

                    case "dota2":
                        var dotaIds = game["dota2_matches"].ToString().Replace("[", "").Replace("]", "").Trim().Split(",");
                        mapNumber = dotaIds.Length;
                        bestOf    = int.Parse(game["round"].ToString());
                        league    = game["league"]["name"].ToString();
                        sport     = SportEnum.Dota2;
                        scoreHome = int.Parse(game["left_score"].ToString());
                        scoreAway = int.Parse(game["right_score"].ToString());
                        homeTeam  = game["left_team"]["name"].ToString();
                        uri       = new Uri(string.Format(_specificDota2Url, dotaIds[mapNumber - 1].Trim()));
                        _links.Add(new Link(sport, uri, league, mapNumber, bestOf)
                        {
                            ScoreHome    = scoreHome,
                            ScoreAway    = scoreAway,
                            HomeTeamName = homeTeam,
                        });
                        continue;
                    }
                }
            }
        }
コード例 #5
0
 public Link(SportEnum sport, Uri uri, string additionaldata = null)
 {
     Sport          = sport;
     Uri            = uri;
     AdditionalData = additionaldata;
 }
コード例 #6
0
 public Sport GetSport(SportEnum sport)
 {
     return(Sports.Where(i => i.SportID == (int)sport).Single());
 }