private Expression <Func <Domain.Entities.Seiyuu, bool> > ExtendExpressionWithSearchCriteria(Expression <Func <Domain.Entities.Seiyuu, bool> > predicate, SearchSeiyuuQuery query)
        {
            var swappedNameSurname = query.Name.SwapWords();

            return(predicate
                   .And(!string.IsNullOrWhiteSpace(query.Name), () => seiyuu =>
                        seiyuu.Name.ToLower().Contains(query.Name.ToLower()) ||
                        seiyuu.Name.ToLower().Contains(swappedNameSurname.ToLower()) ||
                        seiyuu.KanjiName.ToLower().Contains(query.Name.ToLower())));
        }
Example #2
0
        public Expression <Func <Domain.Entities.Seiyuu, bool> > BuildExpression(SearchSeiyuuQuery query)
        {
            var predicate = PredicateBuilder.True <Domain.Entities.Seiyuu>();

            return(query != null?ExtendExpressionWithSearchCriteria(predicate, query) : predicate);
        }
Example #3
0
 public Task <PagedResult <SeiyuuSearchEntryDto> > Get([FromQuery] SearchSeiyuuQuery query)
 => HandleAsync(async() => await _searchSeiyuuQueryHandler.HandleAsync(query));