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 ) )); }
public async Task <Player> GetStatsAsync(EpisodeFilter episodeFilter) { var result = await GetRequestAsyncV2 <Player>($"/profile/{Name}/{Tag}?filter=" + episodeFilter.ToString().ToLower()); return(result); }
/// <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); }