public List <GenericData> GetMapByPvEMode(PvEModes pveMode)
        {
            var url = $"{baseUrl}/api/maps/{(int) pveMode}pve";

            var webRequest = WebRequest.Create(url);

            webRequest.ContentType = "application/json; charset=utf-8";
            var    response = webRequest.GetResponse();
            string text;

            using (var sr = new StreamReader(response.GetResponseStream() !))
            {
                text = sr.ReadToEnd();
            }

            CheckBackendStatus(text);
            var deserializeObject = JsonConvert.DeserializeObject <List <GenericData> >(text);

            return(deserializeObject);
        }
        public uint GetPvELeaderboardCount(PvEModes pveMode, PlayerCount playerCount, int mapID, int month)
        {
            var url =
                $"{baseUrl}/api/leaderboards/pve-count/{(int) pveMode}/{(int) playerCount}/{mapID}/{month}";

            var webRequest = WebRequest.Create(url);

            webRequest.ContentType = "application/json; charset=utf-8";

            var    response = webRequest.GetResponse();
            string text;

            using (var sr = new StreamReader(response.GetResponseStream() !))
            {
                text = sr.ReadToEnd();
            }

            CheckBackendStatus(text);
            return((JObject.Parse(text).GetValue("count") ?? -1).Value <uint>());
        }
        public List <MatchInfo> GetPvELeaderboard(PvEModes pveMode, PlayerCount playerCount, int mapID, int month,
                                                  int page, int totalResults)
        {
            var url =
                $"{baseUrl}/api/leaderboards/pve/{(int) pveMode}/{(int) playerCount}/{mapID}/{month}/{page}/{totalResults}";

            var webRequest = WebRequest.Create(url);

            webRequest.ContentType = "application/json; charset=utf-8";

            var    response = webRequest.GetResponse();
            string text;

            using (var sr = new StreamReader(response.GetResponseStream() !))
            {
                text = sr.ReadToEnd();
            }

            CheckBackendStatus(text);
            var deserializeObject = JsonConvert.DeserializeObject <List <MatchInfo> >(text);

            return(deserializeObject);
        }