public static SearchAnimeQuery ToSearchAnimeQuery(this GetSeasonSummariesQuery GetSeasonSummariesQuery) => new SearchAnimeQuery { AnimeTypeId = GetSeasonSummariesQuery.TVSeriesOnly ? (long)AnimeTypeId.TV : (long)AnimeTypeId.AllTypes, SeasonId = GetSeasonSummariesQuery.Id };
public Expression <Func <AnimeSeason, bool> > BuildExpression(GetSeasonSummariesQuery query) { var predicate = PredicateBuilder.True <AnimeSeason>(); return(query != null?ExtendExpressionWithSearchCriteria(predicate, query) : predicate); }
private Expression <Func <AnimeSeason, bool> > ExtendExpressionWithSearchCriteria(Expression <Func <AnimeSeason, bool> > predicate, GetSeasonSummariesQuery query) { return(predicate .And(!string.IsNullOrWhiteSpace(query.Season), () => season => season.Name.ToLower().Contains(query.Season.ToLower())) .And(query.Year > 0, () => season => season.Year.Equals(query.Year))); }
public Task <PagedResult <SeasonSummaryEntryDto> > GetSeasonSummary([FromQuery] GetSeasonSummariesQuery query) => HandleAsync(async() => await _getSeasonSummariesQueryHandler.HandleAsync(query));