コード例 #1
0
        public IActionResult GetEpisodes([FromRoute] string id, [FromQuery] EpisodeFilter filter)
        {
            Expression <Func <Episode, bool> > episodeFilterExpression = episode => episode.PodcastId == new ObjectId(id);

            if (!string.IsNullOrEmpty(filter.Title))
            {
                episodeFilterExpression = episodeFilterExpression.And(
                    episode => episode.Title.ToLower().Contains(filter.Title.ToLower())
                    );
            }

            if (!string.IsNullOrEmpty(filter.Summary))
            {
                episodeFilterExpression = episodeFilterExpression.And(
                    episode => episode.Summary.ToLower().Contains(filter.Summary.ToLower())
                    );
            }

            return(Ok(
                       this.MongoRepository.FindAndProject(
                           episodeFilterExpression,
                           episode => new
            {
                episode.Id,
                episode.Title,
                episode.Image
            },
                           filter.Page,
                           filter.PageSize
                           )
                       ));
        }
コード例 #2
0
        public async Task <Player> GetStatsAsync(EpisodeFilter episodeFilter)
        {
            var result = await GetRequestAsyncV2 <Player>($"/profile/{Name}/{Tag}?filter=" + episodeFilter.ToString().ToLower());

            return(result);
        }
コード例 #3
0
        /// <summary>
        /// MMR History for previous Seasons filtered
        /// </summary>
        /// <returns></returns>
        public async Task <MMR> GetMMRAsync(EpisodeFilter episodeFilter)
        {
            var result = await GetRequestAsyncV2 <MMR>($"/mmr/{Region.ToString()}/{Name}/{Tag}?filter={episodeFilter}");

            return(result);
        }