예제 #1
0
        public async Task <Rank[]> GetSubGainScoreboardAsync(RankAllPlatform platform, Size size)
        {
            var requestPlatform = platform.ToApiString();
            var requestSize     = size.ToApiString();

            var jsonAsStream = await ApiProcessor.GetAsync($"{_baseUrl}/charts/{requestPlatform}/rankSubGain/{requestSize}");

            var apiData = await _jsonHelper.Deserialise <Rank[]>(jsonAsStream);

            return(apiData);
        }
예제 #2
0
        public async Task <object> GetChannelHistoryAsync(RankAllPlatform platform, string userId)
        {
            var requestPlatform = platform.ToApiString();

            var jsonAsStream = await ApiProcessor.GetAsync($"{_baseUrl}/historic/{requestPlatform}/{userId}");

            object apiData;

            switch (platform)
            {
            case RankAllPlatform.Youtube:
                apiData = await _jsonHelper.Deserialise <YoutubeHistoricChannel[]>(jsonAsStream);

                break;

            case RankAllPlatform.Instagram:
                apiData = await _jsonHelper.Deserialise <HistoricChannelBase[]>(jsonAsStream);

                break;

            case RankAllPlatform.TikTok:
                apiData = await _jsonHelper.Deserialise <HistoricChannelBase[]>(jsonAsStream);

                break;

            case RankAllPlatform.Twitch:
                apiData = await _jsonHelper.Deserialise <HistoricChannelBase[]>(jsonAsStream);

                break;

            case RankAllPlatform.Twitter:
                apiData = await _jsonHelper.Deserialise <HistoricChannelBase[]>(jsonAsStream);

                break;

            default:
                throw new NotSupportedException("Invalid platform type.");
            }
            return(apiData);
        }